{"users":[{"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":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta.discourse.org/moin/{size}/523407_2.png","trust_level":3},{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta.discourse.org/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":191275,"username":"hanoith2022","name":"Hanoiopt","avatar_template":"/user_avatar/meta.discourse.org/hanoith2022/{size}/549908_2.png","trust_level":0},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta.discourse.org/merefield/{size}/176214_2.png","trust_level":3},{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta.discourse.org/sam/{size}/102149_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":161351,"username":"BrianC","name":"Brian","avatar_template":"/user_avatar/meta.discourse.org/brianc/{size}/487568_2.png","trust_level":2},{"id":181081,"username":"stephtara","name":"Stephanie Booth","avatar_template":"/user_avatar/meta.discourse.org/stephtara/{size}/517827_2.png","trust_level":3},{"id":23968,"username":"david","name":"David Taylor","avatar_template":"/user_avatar/meta.discourse.org/david/{size}/157490_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":173218,"username":"gilles","name":null,"avatar_template":"/user_avatar/meta.discourse.org/gilles/{size}/549022_2.png","trust_level":3},{"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":26605,"username":"LeoDavidson","name":"Leo Davidson","avatar_template":"/user_avatar/meta.discourse.org/leodavidson/{size}/119574_2.png","trust_level":2},{"id":26610,"username":"Jonathan_Potter","name":"Jonathan Potter","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/j/eb9ed0/{size}.png","trust_level":1},{"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":114728,"username":"darkpixlz","name":"Pyx ","avatar_template":"/user_avatar/meta.discourse.org/darkpixlz/{size}/549896_2.png","flair_name":"support-enthusiasts","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_group_id":151,"trust_level":4},{"id":2770,"username":"awesomerobot","name":"Kris","avatar_template":"/user_avatar/meta.discourse.org/awesomerobot/{size}/142900_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":186683,"username":"qi_lu","name":"qi lu","avatar_template":"/user_avatar/meta.discourse.org/qi_lu/{size}/536755_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":65413,"username":"EricGT","name":"EricGT","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/e/f1d935/{size}.png","trust_level":2},{"id":60726,"username":"jrgong","name":"jrgong","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/j/c57346/{size}.png","trust_level":2},{"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":186126,"username":"singi2016cn","name":"Singi2016cn","avatar_template":"/user_avatar/meta.discourse.org/singi2016cn/{size}/532755_2.png","trust_level":2},{"id":127856,"username":"Lilly","name":"","avatar_template":"/user_avatar/meta.discourse.org/lilly/{size}/548787_2.png","trust_level":3},{"id":18545,"username":"piratdavid","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/p/ba9def/{size}.png","trust_level":2},{"id":13920,"username":"thomaspurchas","name":"Thomas Purchas","avatar_template":"/user_avatar/meta.discourse.org/thomaspurchas/{size}/115664_2.png","trust_level":2},{"id":34206,"username":"anderer","name":"","avatar_template":"/user_avatar/meta.discourse.org/anderer/{size}/310458_2.png","trust_level":2},{"id":167414,"username":"doron1","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/d/ea666f/{size}.png","trust_level":1},{"id":156013,"username":"Andrew_Rowe","name":"Andrew Rowe","avatar_template":"/user_avatar/meta.discourse.org/andrew_rowe/{size}/445877_2.png","trust_level":4},{"id":117390,"username":"dmke","name":"Dominik Menke","avatar_template":"/user_avatar/meta.discourse.org/dmke/{size}/264041_2.png","trust_level":1},{"id":107930,"username":"schneeland","name":"","avatar_template":"/user_avatar/meta.discourse.org/schneeland/{size}/275391_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":406,"username":"RGJ","name":"Richard - Communiteq","avatar_template":"/user_avatar/meta.discourse.org/rgj/{size}/523185_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":156710,"username":"paulovbettio","name":"Inknight","avatar_template":"/user_avatar/meta.discourse.org/paulovbettio/{size}/538502_2.png","trust_level":1},{"id":144474,"username":"David_Ghost","name":"","avatar_template":"/user_avatar/meta.discourse.org/david_ghost/{size}/549400_2.png","trust_level":3},{"id":78900,"username":"Alteras","name":"Steven Chang","avatar_template":"/user_avatar/meta.discourse.org/alteras/{size}/179824_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":14795,"username":"Yuun","name":"Sam","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/y/977dab/{size}.png","trust_level":2},{"id":174894,"username":"tknospdr","name":"David Muszynski","avatar_template":"/user_avatar/meta.discourse.org/tknospdr/{size}/529762_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":160471,"username":"Ethsim2","name":"Ethan ","avatar_template":"/user_avatar/meta.discourse.org/ethsim2/{size}/522255_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":152726,"username":"das-g","name":"Raphael Das Gupta","avatar_template":"/user_avatar/meta.discourse.org/das-g/{size}/441608_2.png","trust_level":2},{"id":21628,"username":"xiasummer","name":"xiasummer","avatar_template":"/user_avatar/meta.discourse.org/xiasummer/{size}/82790_2.png","flair_name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111","flair_group_id":50,"trust_level":2}],"primary_groups":[{"id":47,"name":"team"}],"flair_groups":[{"id":47,"name":"team","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"id":151,"name":"support-enthusiasts","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":142,"name":"support-experts","flair_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":50,"name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/dev/7?page=1","per_page":30,"top_tags":[{"id":330,"name":"rest-api","slug":"rest-api"},{"id":436,"name":"css","slug":"css"},{"id":973,"name":"dev-news","slug":"dev-news"},{"id":328,"name":"плагин-api","slug":"plugin-api"},{"id":543,"name":"ии","slug":"ai"},{"id":317,"name":"чат","slug":"chat"},{"id":556,"name":"brand-header","slug":"brand-header"},{"id":483,"name":"боковая-панель","slug":"sidebar"},{"id":150,"name":"dev-install","slug":"dev-install"},{"id":35,"name":"мобильный","slug":"mobile"},{"id":466,"name":"rails-console","slug":"rails-console"},{"id":5,"name":"неподдерживаемая-установк","slug":"unsupported-install"},{"id":107,"name":"webhooks","slug":"webhooks"},{"id":660,"name":"счетчик-кликов","slug":"click-counter"},{"id":22,"name":"композитор","slug":"composer"},{"id":70,"name":"уголёк","slug":"ember"},{"id":478,"name":"как-сделать","slug":"how-to"},{"id":198,"name":"подписки","slug":"subscriptions"},{"id":529,"name":"теги","slug":"tags"},{"id":563,"name":"welcome-link-banner","slug":"welcome-link-banner"},{"id":551,"name":"ссылки-пользовательского-","slug":"custom-header-links"},{"id":24,"name":"docker","slug":"docker"},{"id":39,"name":"email","slug":"email"},{"id":618,"name":"пользовательские-поля","slug":"user-custom-fields"},{"id":2,"name":"значки","slug":"badges"},{"id":241,"name":"календарь-и-события","slug":"calendar-and-event"},{"id":126,"name":"data-explorer","slug":"data-explorer"},{"id":278,"name":"разработка","slug":"development"},{"id":31,"name":"onebox","slug":"onebox"},{"id":87,"name":"реклама","slug":"advertising"},{"id":43,"name":"встраивание","slug":"embedding"}],"topics":[{"fancy_title":"Discourse GitHub commit prefix convention","fancy_title_localized":false,"locale":"en","id":19392,"title":"Discourse GitHub commit prefix convention","slug":"discourse-github-commit-prefix-convention","posts_count":3,"reply_count":1,"highest_post_number":11,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/3/c/3c2d6fdd842384af41da5ba3a1e5bae39ab88f05.png","created_at":"2014-08-28T21:32:16.635Z","last_posted_at":"2026-01-10T21:37:02.376Z","bumped":true,"bumped_at":"2026-01-10T21:37:02.376Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"For those who want to bring changes to Discourse’s code, we require that each GitHub commit have one of the following prefixes: \n\n\n\n\nPrefix\nDefinition\n\n\n\n\nFIX\nA bug fix [1]\n\n\nPERF\nA performance improvement\n\n\nUX\nA user in&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":773,"height":204,"url":"https://d11a6trkgmumsb.cloudfront.net/original/3X/3/c/3c2d6fdd842384af41da5ba3a1e5bae39ab88f05.png"},{"max_width":600,"max_height":600,"width":600,"height":158,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/c/3c2d6fdd842384af41da5ba3a1e5bae39ab88f05_2_600x158.png"},{"max_width":400,"max_height":400,"width":400,"height":105,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/c/3c2d6fdd842384af41da5ba3a1e5bae39ab88f05_2_400x105.png"},{"max_width":300,"max_height":300,"width":300,"height":79,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/c/3c2d6fdd842384af41da5ba3a1e5bae39ab88f05_2_300x79.png"},{"max_width":200,"max_height":200,"width":200,"height":52,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/3X/3/c/3c2d6fdd842384af41da5ba3a1e5bae39ab88f05_2_200x52.png"}],"tags":[],"tags_descriptions":{},"views":13173,"like_count":56,"has_summary":false,"last_poster_username":"Moin","category_id":7,"op_like_count":53,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user inquired whether 'I18N' should be added to Discourse’s required commit prefix list, following the initial announcement of standardized prefixes for code contributions.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":32,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":95552,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"About the Development category","fancy_title_localized":false,"locale":"en","id":1026,"title":"About the Development category","slug":"about-the-development-category","posts_count":1,"reply_count":1,"highest_post_number":1,"image_url":null,"created_at":"2013-02-06T08:43:41.559Z","last_posted_at":"2013-02-06T08:43:41.601Z","bumped":true,"bumped_at":"2023-08-09T13:19:55.222Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"The category for all things Discourse Development. Building a customization for yourself or the community? Then this is the category for you! Learn more…","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":10686,"like_count":5,"has_summary":false,"last_poster_username":"Discourse","category_id":7,"op_like_count":5,"pinned_globally":false,"featured_link":null,"ai_topic_gist":null,"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":"Лучшие способы генерации или получения тестовых данных для Discourse?","fancy_title_localized":true,"locale":"en","id":400205,"title":"Best Ways to Generate or Obtain Test Data for Discourse?","slug":"best-ways-to-generate-or-obtain-test-data-for-discourse","posts_count":5,"reply_count":3,"highest_post_number":5,"image_url":null,"created_at":"2026-04-08T08:06:21.251Z","last_posted_at":"2026-04-08T08:19:02.937Z","bumped":true,"bumped_at":"2026-04-08T08:19:02.937Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Всем привет :waving_hand:\nВ настоящее время я работаю с Discourse и пытаюсь лучше понять, как эффективно тестировать функции и рабочие процессы. Одна из проблем, с которыми я столкнулся, — это получение реалистичных и полезных тестовых данных для &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":21,"like_count":7,"has_summary":false,"last_poster_username":"hanoith2022","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The user clarified their need for diverse media test files like MP3s beyond standard topic seeding, receiving suggestions to use a webcam for video and generative AI for audio.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":191275,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор, Принятый ответ","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Использование dv (Discourse Vibe) для настройки Discourse AI в среде разработки","fancy_title_localized":true,"locale":"en","id":388622,"title":"Using dv (Discourse Vibe) to configure Discourse AI in development","slug":"using-dv-discourse-vibe-to-configure-discourse-ai-in-development","posts_count":6,"reply_count":3,"highest_post_number":6,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_741x1024.png","created_at":"2025-11-17T03:44:03.670Z","last_posted_at":"2026-04-07T21:58:57.795Z","bumped":true,"bumped_at":"2026-04-07T21:58:57.795Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"dv — Discourse Vibe — https://github.com/samsaffron/dv это инструмент, который я разрабатываю и который позволяет легко работать с несколькими предварительно настроенными контейнерами разработки Discourse.\nЯ создал его, чтобы упростить работу с AI-агентами, и так далее…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1344,"height":1857,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3.png"},{"max_width":1024,"max_height":1024,"width":741,"height":1024,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_741x1024.png"},{"max_width":800,"max_height":800,"width":578,"height":800,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_578x800.png"},{"max_width":600,"max_height":600,"width":434,"height":600,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_434x600.png"},{"max_width":400,"max_height":400,"width":289,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_289x400.png"},{"max_width":300,"max_height":300,"width":217,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_217x300.png"},{"max_width":200,"max_height":200,"width":144,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/4/9/b/49beab442301ca30e69def73c24cf3fa9c88c5c3_2_144x200.png"}],"tags":[],"tags_descriptions":{},"views":198,"like_count":23,"has_summary":false,"last_poster_username":"sam","category_id":7,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Sam clarifies that dv is a technical tool primarily for developers to manage multiple isolated Discourse development environments, noting it simplifies even single-instance setups but is not designed for non-technical hobbyists.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":161351,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":181081,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Устаревание расширения файлов .hbs в темах и плагинах","fancy_title_localized":true,"locale":"en","id":398896,"title":"Deprecating .hbs file extension in themes and plugins","slug":"deprecating-hbs-file-extension-in-themes-and-plugins","posts_count":18,"reply_count":11,"highest_post_number":18,"image_url":null,"created_at":"2026-03-20T16:48:11.841Z","last_posted_at":"2026-04-07T18:24:07.539Z","bumped":true,"bumped_at":"2026-04-07T18:24:07.539Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"В последней версии Discourse использование файлов .hbs в темах и плагинах устарело. Поддержка этого формата файлов будет удалена после следующего релиза ESR.\nШаблоны Handlebars следует заменить на более современны...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":973,"name":"dev-news","slug":"dev-news"}],"tags_descriptions":{},"views":253,"like_count":33,"has_summary":false,"last_poster_username":"Jonathan_Potter","category_id":7,"op_like_count":7,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While the Discourse team promotes automated migration from .hbs to .gjs, a plugin maintainer expresses frustration over frequent breaking changes, arguing that the new ESR release strategy and removal of legacy features compromise platform stability and compatibility.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":173218,"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":26605,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":26610,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Устаревание расширений файлов .js.es6 в темах и плагинах","fancy_title_localized":true,"locale":"en","id":398894,"title":"Deprecating .js.es6 file extensions in themes and plugins","slug":"deprecating-js-es6-file-extensions-in-themes-and-plugins","posts_count":9,"reply_count":7,"highest_post_number":9,"image_url":null,"created_at":"2026-03-20T16:03:38.678Z","last_posted_at":"2026-04-07T14:34:36.664Z","bumped":true,"bumped_at":"2026-04-07T14:34:36.664Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Ещё в 2020 году Discourse перешёл с расширения .js.es6 на .js. За прошедшие годы подавляющее большинство тем и плагинов перешло на новое расширение, которое обеспечивает гораздо лучшую совместимость с современным JavaScript...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":973,"name":"dev-news","slug":"dev-news"}],"tags_descriptions":{},"views":127,"like_count":26,"has_summary":false,"last_poster_username":"awesomerobot","category_id":7,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse is removing support for .js.es6 extensions to resolve developer confusion and improve tooling, despite plugin author LeoDavidson's objection that the change breaks backward compatibility and demonstrates poor prioritization.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":114728,"primary_group_id":null,"flair_group_id":151},{"extras":"latest","description":"Последний автор","user_id":2770,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Есть ли у Discourse навыки разработки с использованием ИИ?","fancy_title_localized":true,"locale":"zh_CN","id":397330,"title":"Discourse有AI开发的skills吗？","slug":"discourse-ai-skills","posts_count":6,"reply_count":1,"highest_post_number":6,"image_url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_1024x512.png","created_at":"2026-02-28T02:33:39.308Z","last_posted_at":"2026-04-06T23:41:56.325Z","bumped":true,"bumped_at":"2026-04-06T23:41:56.325Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я потратил три дня, пытаясь разработать плагин с помощью Claude 4.6, но это оказалось слишком сложно. \nЗатронутые темы: \n\nБаза данных\nПользовательский интерфейс (UI)\nПанель администратора\nМаршрутизация\nЛогика работы и компоненты\n\nОбщее впечатление: \nСпособность генерировать код высокая, но не хватает соблюдения стандартов и накопленного опыта. \nВ течение трёх дней я большую часть времени тратил на исправление ошибок в синтаксисе и нарушение стандартных правил, а иногда даже на полную пересборку проекта. \nЯ вообще не разбираюсь в коде и при возникновении проблем не могу эффективно формулировать промпты. В вопросах структуры кода, именовании и стиле разработки мне приходится полностью полагаться на ИИ. Результаты работы ИИ посредственные, он с трудом исправляет ошибки, и, похоже, ещё нет специализированных решений для ИИ&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/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":512,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_1024x512.png"},{"max_width":800,"max_height":800,"width":800,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_800x400.png"},{"max_width":600,"max_height":600,"width":600,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_600x300.png"},{"max_width":400,"max_height":400,"width":400,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_400x200.png"},{"max_width":300,"max_height":300,"width":300,"height":150,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_300x150.png"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/3/d/3/3d3cb0ea571379a01fa28e0f547632ff5f5f33e9_2_200x100.png"}],"tags":[],"tags_descriptions":{},"views":196,"like_count":34,"has_summary":false,"last_poster_username":"sam","category_id":7,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"After a user highlighted difficulties in AI-driven Discourse plugin development and proposed a shared learning mechanism, the official team confirmed the existence of a dedicated skills repository at .skills to support AI development, though it currently contains only a few entries.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":186683,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":114728,"primary_group_id":null,"flair_group_id":151},{"extras":null,"description":"Частый автор","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Разработка, связанная с Claude и Discourse. Насколько она хороша?","fancy_title_localized":true,"locale":"en","id":394773,"title":"Claude & Discourse-related development. How good is it?","slug":"claude-discourse-related-development-how-good-is-it","posts_count":15,"reply_count":5,"highest_post_number":15,"image_url":null,"created_at":"2026-01-30T17:01:28.630Z","last_posted_at":"2026-04-06T09:08:50.285Z","bumped":true,"bumped_at":"2026-04-06T09:08:50.285Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я не разработчик. У меня есть лишь базовые знания программирования. Я умею читать простой код.\nНедавно я создал плагин, в основном полагаясь на бесплатную версию Gemini. 95% кода было сгенерировано ИИ.\nХотя плагин определённо работает, и он…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":384,"like_count":42,"has_summary":false,"last_poster_username":"Canapin","category_id":7,"op_like_count":6,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shared an article about AI building a WordPress site, prompting concerns about the reliability of fully AI-generated content and a preference for human-verified experiences in Discourse plugin development.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":65413,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":60726,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":113000,"primary_group_id":null,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":181081,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Поиск ресурсов по дизайну Discourse","fancy_title_localized":true,"locale":"en","id":399847,"title":"Finding Discourse design resources","slug":"finding-discourse-design-resources","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-04-03T02:32:57.669Z","last_posted_at":"2026-04-03T02:55:26.946Z","bumped":true,"bumped_at":"2026-04-03T02:55:26.946Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я хочу узнать, где можно найти полные ресурсы по дизайну, которые могут служить справочным материалом для UI-дизайнеров?","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":46,"like_count":7,"has_summary":false,"last_poster_username":"Lilly","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"In response to a request for complete UI design resources, users suggested enabling the site's style guide and checking the #documentation:developer-guides channel.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":186126,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор, Принятый ответ","user_id":114728,"primary_group_id":null,"flair_group_id":151},{"extras":"latest","description":"Последний автор","user_id":127856,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Topic as widget","fancy_title_localized":false,"locale":null,"id":49811,"title":"Topic as widget","slug":"topic-as-widget","posts_count":11,"reply_count":5,"highest_post_number":11,"image_url":null,"created_at":"2016-09-07T09:13:19.296Z","last_posted_at":"2026-04-01T18:55:16.962Z","bumped":true,"bumped_at":"2026-04-01T18:55:11.893Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi, \n\nI&#39;d like to create a comments section with each post in our news section www.elektronauts.com/news. Kind of like in the Facebook feed. The optimal way would be to embed a topic in a widget. Has anything like this b&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":3229,"like_count":8,"has_summary":false,"last_poster_username":"Falco","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Embedding a Discourse topic as a widget to create a Facebook-style comments section on news posts is now possible, with a guide provided for implementation.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":18545,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":13920,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":34206,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":8722,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Встраивание полных веток — возможно?","fancy_title_localized":true,"locale":"en","id":360386,"title":"Embedding full threads - possible?","slug":"embedding-full-threads-possible","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":null,"created_at":"2025-04-04T09:31:28.994Z","last_posted_at":"2026-04-01T18:44:21.645Z","bumped":true,"bumped_at":"2026-04-01T18:44:21.645Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Привет, друзья!\nМы относительно новые в разработке Discourse, поэтому, возможно, мы что-то упустили. В наших поисках мы не смогли найти точного ответа на этот вопрос.\nМы разрабатываем веб-сайт с различными типами контента. В рамках этого мы хотим …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":172,"like_count":9,"has_summary":false,"last_poster_username":"Falco","category_id":7,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The user's inquiry about embedding full threaded discussions within an iframe on their website has been confirmed as now possible via a newly available Discourse feature.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":167414,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":156013,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":8722,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"API scope `all-users` больше не работает","fancy_title_localized":true,"locale":"en","id":399597,"title":"API scope `all-users` not working anymore","slug":"api-scope-all-users-not-working-anymore","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f.png","created_at":"2026-03-30T21:25:30.005Z","last_posted_at":"2026-03-30T21:25:30.242Z","bumped":true,"bumped_at":"2026-03-30T21:25:30.242Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"У меня есть этот фрагмент Python, который ранее создавал пользователя и заставлял его лайкнуть пост.\n            i = i + extra\n            pw = nanoid.generate(size=150)\n            name = f\"User{nanoid.generate(size=5, alphabet='abcdefghijklmn…\"","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":838,"height":101,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f.png"},{"max_width":800,"max_height":800,"width":800,"height":96,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f_2_800x96.png"},{"max_width":600,"max_height":600,"width":600,"height":72,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f_2_600x72.png"},{"max_width":400,"max_height":400,"width":400,"height":48,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f_2_400x48.png"},{"max_width":300,"max_height":300,"width":300,"height":36,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f_2_300x36.png"},{"max_width":200,"max_height":200,"width":200,"height":24,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/c/d/8/cd87b7a823e22b75762efe5368f2814b19ead70f_2_200x24.png"}],"tags":[{"id":330,"name":"rest-api","slug":"rest-api"}],"tags_descriptions":{"rest-api":"Темы, касающиеся выполнения внешних запросов к Discourse"},"views":26,"like_count":0,"has_summary":false,"last_poster_username":"darkpixlz","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user reports that a Python script using the all-users API scope to create accounts and like posts now returns 400 errors instead of working as it did previously.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":114728,"primary_group_id":null,"flair_group_id":151}]},{"fancy_title":"PR: Добавлена поддержка Sidekiq 8 в mini_scheduler","fancy_title_localized":true,"locale":"en","id":399560,"title":"PR: Add Sidekiq 8 support to mini_scheduler","slug":"pr-add-sidekiq-8-support-to-mini-scheduler","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-03-30T12:06:41.813Z","last_posted_at":"2026-04-06T07:00:15.334Z","bumped":true,"bumped_at":"2026-03-30T17:00:40.187Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Не уверен, следит ли кто-нибудь за трекером задач в discourse/mini_scheduler, но я только что создал PR:\n\n\n(Я пытаюсь обновить одно из своих Rails-приложений до Sidekiq 8.1, и mini_scheduler — это последняя зависимость, которую нужно обновить…","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":35,"like_count":3,"has_summary":false,"last_poster_username":"david","category_id":7,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A pull request adding Sidekiq 8 support to mini_scheduler was merged and released, enabling Rails applications to upgrade to Sidekiq 8.1.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":117390,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":23968,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"RFC: Новая стратегия версионирования для Discourse","fancy_title_localized":true,"locale":"en","id":383536,"title":"RFC: A new versioning strategy for Discourse","slug":"rfc-a-new-versioning-strategy-for-discourse","posts_count":59,"reply_count":54,"highest_post_number":61,"image_url":null,"created_at":"2025-09-23T07:55:33.001Z","last_posted_at":"2026-03-30T08:58:35.157Z","bumped":true,"bumped_at":"2026-03-30T08:58:35.157Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Мы планируем внедрить новую систему версионирования для Discourse. Наша цель — предоставить администраторам сообществ больше выбора и предсказуемости, сохраняя при этом высокую скорость разработки. Мы также корректируем некоторые аспекты...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":973,"name":"dev-news","slug":"dev-news"}],"tags_descriptions":{},"views":1935,"like_count":239,"has_summary":true,"last_poster_username":"NateDhaliwal","category_id":7,"op_like_count":40,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse plans to implement a monthly versioning strategy with overlapping support cycles and automated release processes to enhance administrator flexibility while maintaining development velocity.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":107930,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":4263,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":406,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Последний автор","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Декорации/наложения аватара из пользовательских полей","fancy_title_localized":true,"locale":"en","id":399394,"title":"Avatar Decorations/Overlays from Custom User Fields","slug":"avatar-decorations-overlays-from-custom-user-fields","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2026-03-27T04:57:36.613Z","last_posted_at":"2026-03-27T09:30:40.047Z","bumped":true,"bumped_at":"2026-03-27T09:30:40.047Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Привет! Я пытаюсь реализовать украшения аватара на основе пользовательских полей. Сейчас у пользователей есть пользовательское поле «avatar_decoration_url». Как я могу использовать это поле в CSS или в компоненте темы, чтобы добавить изображение на аватар...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":618,"name":"пользовательские-поля","slug":"user-custom-fields"}],"tags_descriptions":{},"views":33,"like_count":3,"has_summary":false,"last_poster_username":"David_Ghost","category_id":7,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users seek to implement avatar decorations using custom user fields via CSS or theme components, with references provided to existing discussions on accessing these values and suggestions for a dedicated plugin.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":156710,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Последний автор","user_id":144474,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Тип иконки SiteSetting","fancy_title_localized":true,"locale":"en","id":370452,"title":"Icon type SiteSetting","slug":"icon-type-sitesetting","posts_count":10,"reply_count":5,"highest_post_number":10,"image_url":null,"created_at":"2025-06-16T22:30:54.525Z","last_posted_at":"2026-03-26T22:39:53.189Z","bumped":true,"bumped_at":"2026-03-26T22:39:53.189Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я пытаюсь добавить SiteSetting в мой плагин, который будет управлять иконками, отображаемыми для некоторых компонентов. Сам компонент уже предполагался настраиваемым пользователем, поэтому я хотел добавить SiteSetting как способ для сотрудников...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":176,"like_count":25,"has_summary":false,"last_poster_username":"Lilly","category_id":7,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A new icon type for SiteSettings has been introduced, though its compatibility with theme component object schemas remains unconfirmed and potentially unsupported.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":78900,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор, Принятый ответ","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":2770,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Последний автор","user_id":127856,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Представляем новую систему сборки для плагинов","fancy_title_localized":true,"locale":"en","id":398713,"title":"Introducing a new build system for plugins","slug":"introducing-a-new-build-system-for-plugins","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":null,"created_at":"2026-03-18T12:14:37.523Z","last_posted_at":"2026-03-26T12:06:48.070Z","bumped":true,"bumped_at":"2026-03-26T12:06:48.070Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"За последние несколько месяцев мы работали над новой системой сборки для JavaScript-кода плагинов. Это приведёт плагины в соответствие с изменениями, которые мы внесли в систему сборки тем в июле 2025 года и которые опираются на более м&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":973,"name":"dev-news","slug":"dev-news"}],"tags_descriptions":{},"views":189,"like_count":45,"has_summary":false,"last_poster_username":"david","category_id":7,"op_like_count":22,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The new plugin build system is now enabled by default, with recent fixes for reported duplicate export errors and an upcoming presentation at the Ember Europe meetup.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":26605,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Использование плейсхолдера для ссылок FontAwesome в описаниях настроек","fancy_title_localized":true,"locale":"en","id":370555,"title":"Using a placeholder for FontAwesome links in descriptions of settings","slug":"using-a-placeholder-for-fontawesome-links-in-descriptions-of-settings","posts_count":10,"reply_count":7,"highest_post_number":10,"image_url":null,"created_at":"2025-06-17T17:05:34.986Z","last_posted_at":"2026-03-26T09:50:56.108Z","bumped":true,"bumped_at":"2026-03-26T09:50:56.108Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Продолжение обсуждения из темы «Как добавить ссылки на настройки сайта в описание настроек моего компонента?»: \nИнтересно, возможно ли что-то подобное для ссылки на бесплатные иконки FontAwesome. Они используются в &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":180,"like_count":17,"has_summary":false,"last_poster_username":"Moin","category_id":7,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While a placeholder for FontAwesome links was proposed to centralize updates, recent feedback highlights that the current icon dropdown in site settings creates a confusing workflow for administrators configuring new icons.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":23968,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Модернизация тегов inline-скриптов для шаблонов и JS API","fancy_title_localized":true,"locale":"en","id":366482,"title":"Modernizing inline script tags for templates & JS API","slug":"modernizing-inline-script-tags-for-templates-js-api","posts_count":48,"reply_count":34,"highest_post_number":49,"image_url":null,"created_at":"2025-05-19T09:55:17.427Z","last_posted_at":"2026-03-25T10:46:51.948Z","bumped":true,"bumped_at":"2026-03-25T10:46:51.948Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Использование &lt;script type=&#39;text/discourse-plugin&gt; или &lt;script type=&#39;text/x-handlebars&#39;&gt; в темах теперь устарело. Любое использование этих тегов в темах должно быть обновлено в соответствии с инструкциями ниже.\nОбычные &lt;script&gt; и &lt;s&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":973,"name":"dev-news","slug":"dev-news"}],"tags_descriptions":{},"views":4156,"like_count":68,"has_summary":false,"last_poster_username":"david","category_id":7,"op_like_count":19,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Support for deprecated inline script tags in Discourse themes has been removed in the latest version, requiring developers to migrate templates to .hbs or .gjs files and code to modern ES6 modules.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":14795,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":174894,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":7720,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Среда разработки: рекомендуемый способ создания первой учетной записи администратора без электронной почты?","fancy_title_localized":true,"locale":"en","id":399187,"title":"Dev environment: recommended way to bootstrap the first admin account without email?","slug":"dev-environment-recommended-way-to-bootstrap-the-first-admin-account-without-email","posts_count":5,"reply_count":3,"highest_post_number":5,"image_url":null,"created_at":"2026-03-24T22:06:30.037Z","last_posted_at":"2026-03-24T22:31:57.597Z","bumped":true,"bumped_at":"2026-03-24T22:31:57.597Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я экспериментирую с образом Docker discourse/discourse_dev (на ноутбуке с Windows 11) и заметил небольшую проблему в рабочем процессе разработки. При запуске Discourse в режиме разработки без исходящей электронной почты...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":278,"name":"разработка","slug":"development"}],"tags_descriptions":{},"views":35,"like_count":7,"has_summary":false,"last_poster_username":"awesomerobot","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While `bin/rails admin:create` resolves the email confirmation block for initial setup, participants suggest that `d/boot_dev --init` already handles this and recommend using Mailhog for local email testing in the Discourse development environment.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":160471,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":2770,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Автоматическое обновление тем и плагинов в формат файлов .gjs","fancy_title_localized":true,"locale":"en","id":368051,"title":"Automatically updating themes and plugins to .gjs file format","slug":"automatically-updating-themes-and-plugins-to-gjs-file-format","posts_count":9,"reply_count":6,"highest_post_number":10,"image_url":null,"created_at":"2025-05-29T10:56:25.320Z","last_posted_at":"2026-03-23T19:40:47.684Z","bumped":true,"bumped_at":"2026-03-23T19:40:47.684Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"В последней версии стандартной конфигурации линтинга Discourse мы включили правило require-strict-mode для ember-template-lint. Это приведет к появлению ошибки линтинга для любых файлов .hbs.\nЧтобы устранить предупреждения, вам следует конве&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":973,"name":"dev-news","slug":"dev-news"}],"tags_descriptions":{},"views":315,"like_count":27,"has_summary":false,"last_poster_username":"david","category_id":7,"op_like_count":9,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse developers introduced a codemod to convert HBS templates to GJS format due to new linting rules, clarifying that the migration must be performed in a local development environment rather than on a live Docker instance.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Частый автор","user_id":173218,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Совместимость темы и скелета снова зафиксирована","fancy_title_localized":true,"locale":"en","id":398985,"title":"The theme-skeleton compatibility has been pinned again","slug":"the-theme-skeleton-compatibility-has-been-pinned-again","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/e/b/a/ebae899892ad537bb4aeced1e5bae138845c51eb.png","created_at":"2026-03-22T00:48:09.868Z","last_posted_at":"2026-03-23T10:19:11.635Z","bumped":true,"bumped_at":"2026-03-23T10:19:11.635Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Продолжение обсуждения из темы «Какова цель записи совместимости в скелете темы?»:\n\nЭто произошло снова:\n\nЕсть ли способ как-то предотвратить это?","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":514,"height":514,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/e/b/a/ebae899892ad537bb4aeced1e5bae138845c51eb.png"},{"max_width":400,"max_height":400,"width":400,"height":400,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/e/b/a/ebae899892ad537bb4aeced1e5bae138845c51eb_2_400x400.png"},{"max_width":300,"max_height":300,"width":300,"height":300,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/e/b/a/ebae899892ad537bb4aeced1e5bae138845c51eb_2_300x300.png"},{"max_width":200,"max_height":200,"width":200,"height":200,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/e/b/a/ebae899892ad537bb4aeced1e5bae138845c51eb_2_200x200.png"}],"tags":[],"tags_descriptions":{},"views":48,"like_count":6,"has_summary":false,"last_poster_username":"david","category_id":7,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The theme-skeleton compatibility issue has been resolved as the team will adopt a new branch-based versioning strategy, preventing the automated compatibility process from recurring.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":23968,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Попытка получить одну коробку с YouTube","fancy_title_localized":true,"locale":"fr","id":398998,"title":"Essai d'avoir une onebox de youtube","slug":"essai-davoir-une-onebox-de-youtube","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/f/6/8/f68df5c8cb6161a4f3c2a92f753b603b73a26191.jpeg","created_at":"2026-03-22T10:32:44.518Z","last_posted_at":"2026-03-22T18:15:27.775Z","bumped":true,"bumped_at":"2026-03-22T18:15:27.775Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Извините, у меня возникла ещё одна проблема с моим плагином, который взаимодействует с API.\nЯ получаю различную информацию и вставляю её в тему в зависимости от поиска. Моя проблема в том, что я получаю ссылку на видео YouTube…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":725,"height":693,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/f/6/8/f68df5c8cb6161a4f3c2a92f753b603b73a26191.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":573,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/f/6/8/f68df5c8cb6161a4f3c2a92f753b603b73a26191_2_600x573.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":382,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/f/6/8/f68df5c8cb6161a4f3c2a92f753b603b73a26191_2_400x382.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":286,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/f/6/8/f68df5c8cb6161a4f3c2a92f753b603b73a26191_2_300x286.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":191,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/f/6/8/f68df5c8cb6161a4f3c2a92f753b603b73a26191_2_200x191.jpeg"}],"tags":[{"id":31,"name":"onebox","slug":"onebox"}],"tags_descriptions":{},"views":44,"like_count":2,"has_summary":false,"last_poster_username":"gilles","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"L'utilisateur a résolu son problème d'insertion de liens YouTube bruts en ajoutant la classe onebox à son code, permettant l'affichage correct des vidéos.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Исходный автор, Последний автор","user_id":173218,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Как заставить Text Rich интерпретировать HTML","fancy_title_localized":true,"locale":"fr","id":398919,"title":"Comment faire pour que text rich interprete du HTML","slug":"comment-faire-pour-que-text-rich-interprete-du-html","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2026-03-20T20:03:51.672Z","last_posted_at":"2026-03-20T21:08:58.309Z","bumped":true,"bumped_at":"2026-03-20T21:08:58.309Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я создаю плагин, связанный с API. Я успешно получаю данные и автоматически вставляю их в тему. С Markdown проблем нет — всё работает отлично, но если переключиться на Rich Text, то...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":40,"like_count":1,"has_summary":false,"last_poster_username":"Falco","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Although a small subset of HTML is accepted in text rich mode, the recommended solution for displaying content correctly is to send markdown instead.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":173218,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":8722,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Ошибка плагина «Duplicate export» после обновления Discourse","fancy_title_localized":true,"locale":"en","id":398882,"title":"Plugin \"Duplicate export\" error after Discourse update","slug":"plugin-duplicate-export-error-after-discourse-update","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":null,"created_at":"2026-03-20T13:31:32.398Z","last_posted_at":"2026-03-20T16:38:16.619Z","bumped":true,"bumped_at":"2026-03-20T16:38:16.619Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Обновление до версии 2026.3.0-latest снова сломало мой плагин.\nМожет ли кто-нибудь помочь объяснить, в чём проблема?\nЯ вижу эту ошибку в консоли F12 в Chrome:\napp.js:73 Не удалось загрузить плагин discourse-directoryopus с https://resour&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":328,"name":"плагин-api","slug":"plugin-api"}],"tags_descriptions":{"плагин-api":"Темы о вызове методов публичного дискурса из плагинов/тем"},"views":49,"like_count":9,"has_summary":false,"last_poster_username":"LeoDavidson","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A Discourse plugin's duplicate export error, triggered by the 2026.3.0 update, was resolved following the implementation of a new plugin build system and a specific pull request fix.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":"latest","description":"Исходный автор, Последний автор","user_id":26605,"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":127856,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Как использовать изображения из ассетов в HTML компонента темы на базе Glimmer?","fancy_title_localized":true,"locale":"en","id":398578,"title":"How do I use images from assets in HTML of a Glimmer-based theme component?","slug":"how-do-i-use-images-from-assets-in-html-of-a-glimmer-based-theme-component","posts_count":6,"reply_count":3,"highest_post_number":6,"image_url":null,"created_at":"2026-03-17T01:13:15.574Z","last_posted_at":"2026-03-18T01:37:06.784Z","bumped":true,"bumped_at":"2026-03-18T01:37:06.784Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Включение ресурсов (например, изображений, шрифтов) в темы и компоненты, похоже, всё ещё отсылает к способу работы с Handlebars, если я правильно понимаю. Уже ли доступен новый способ Glimmer для получения изображений из ...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":73,"like_count":4,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":7,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The user resolved Glimmer-based theme component image access by using `settings.theme_uploads` for assets, discovering that only single variable interpolation works in templates and proper `about.json` configuration is required.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор, Принятый ответ","user_id":152726,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Сломался шаблон моего &ldquo;component&rdquo;. Как это исправить?","fancy_title_localized":true,"locale":"en","id":398553,"title":"Templating of my \"component\" broke. How do I fix it?","slug":"templating-of-my-component-broke-how-do-i-fix-it","posts_count":15,"reply_count":10,"highest_post_number":15,"image_url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/e/a/c/eac6c5351aabd426e3764d205ffe7c8b1c8949da.png","created_at":"2026-03-16T16:59:41.144Z","last_posted_at":"2026-03-17T15:35:44.478Z","bumped":true,"bumped_at":"2026-03-17T15:35:44.478Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"В экземпляре Discourse, который я поддерживаю, есть компонент (наследованный от предыдущего maintainer'а экземпляра) для отображения логотипов спонсоров этого экземпляра в подвале. Компонент работал нормально до r&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":472,"height":102,"url":"https://d11a6trkgmumsb.cloudfront.net/original/4X/e/a/c/eac6c5351aabd426e3764d205ffe7c8b1c8949da.png"},{"max_width":400,"max_height":400,"width":400,"height":86,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/e/a/c/eac6c5351aabd426e3764d205ffe7c8b1c8949da_2_400x86.png"},{"max_width":300,"max_height":300,"width":300,"height":64,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/e/a/c/eac6c5351aabd426e3764d205ffe7c8b1c8949da_2_300x64.png"},{"max_width":200,"max_height":200,"width":200,"height":43,"url":"https://d11a6trkgmumsb.cloudfront.net/optimized/4X/e/a/c/eac6c5351aabd426e3764d205ffe7c8b1c8949da_2_200x43.png"}],"tags":[],"tags_descriptions":{},"views":85,"like_count":16,"has_summary":false,"last_poster_username":"chapoi","category_id":7,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The user resolved the broken sponsor component by refactoring deprecated `registerConnectorClass` logic into a modern Glimmer component after Discourse updates caused template directives to render literally.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор, Принятый ответ","user_id":152726,"primary_group_id":null,"flair_group_id":null},{"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":"Если PR требует локализации, что делать?","fancy_title_localized":true,"locale":"en","id":398585,"title":"If a PR needs localization what do we do?","slug":"if-a-pr-needs-localization-what-do-we-do","posts_count":4,"reply_count":2,"highest_post_number":4,"image_url":null,"created_at":"2025-08-19T06:29:53.005Z","last_posted_at":"2026-03-17T05:59:05.589Z","bumped":true,"bumped_at":"2026-03-17T05:59:05.589Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Если мы отправляем PR, требующий локализации, нужно ли добавлять пустые строки YAML в файлы config/locales?","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":33,"like_count":6,"has_summary":false,"last_poster_username":"sam","category_id":7,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While the initial query addressed PR localization protocols, recent updates indicate a shift in prioritizing dedicated discussion topics over comments on documentation.","is_nested_view":null,"has_accepted_answer":true,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Последний автор, Принятый ответ","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Существует ли соглашение об именовании для проектов компонентов тем?","fancy_title_localized":true,"locale":"en","id":398572,"title":"Is there a naming convention for theme component projects?","slug":"is-there-a-naming-convention-for-theme-component-projects","posts_count":5,"reply_count":2,"highest_post_number":5,"image_url":null,"created_at":"2026-03-16T21:58:42.824Z","last_posted_at":"2026-03-16T22:40:55.270Z","bumped":true,"bumped_at":"2026-03-16T22:40:55.270Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Существует ли соглашение об именовании для проектов компонентов тем, чтобы их можно было легко узнать как таковые? \nПри просмотре папки на диске, репозитория на GitHub или проекта на GitLab или другой платформе для размещения кода это было бы полезно…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":50,"like_count":9,"has_summary":false,"last_poster_username":"RGJ","category_id":7,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users propose and adopt the prefix `discourse-tc-` to clearly identify theme component projects, distinguishing them from full themes and plugins, while the Discourse team notes that such conventions are unofficial but helpful.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":152726,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Частый автор","user_id":2770,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Частый автор","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Последний автор","user_id":406,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"Можно ли заменить Markdown на Quarkdown","fancy_title_localized":true,"locale":"en","id":398341,"title":"Can Markdown be replaced with Quarkdown","slug":"can-markdown-be-replaced-with-quarkdown","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2025-06-26T04:56:54.629Z","last_posted_at":"2026-03-14T08:19:40.285Z","bumped":true,"bumped_at":"2026-03-14T08:19:40.285Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Я вижу некоторые инструменты, расширяющие Markdown, например Quarkdown, который кажется очень мощным. \nЕсть ли способ заменить расширение markdown-it инструментами вроде Quarkdown?","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":93,"like_count":4,"has_summary":false,"last_poster_username":"merefield","category_id":7,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While Quarkdown is recognized as a powerful Markdown extension, it cannot directly replace markdown-it; instead, users must extend markdown-it with desired features.","is_nested_view":null,"has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Исходный автор","user_id":21628,"primary_group_id":null,"flair_group_id":50},{"extras":null,"description":"Частый автор","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Последний автор","user_id":27384,"primary_group_id":null,"flair_group_id":null}]}]}}