{"users":[{"id":115923,"username":"Discourse","name":null,"avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/discourse/{size}/148734_2.png","admin":true,"trust_level":4},{"id":135971,"username":"microhit","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/microhit/{size}/447960_2.png","trust_level":2},{"id":95552,"username":"Moin","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/moin/{size}/554653_2.png","trust_level":3},{"id":20815,"username":"marcospreviato","name":"Marcos P","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/marcospreviato/{size}/54766_2.png","trust_level":2},{"id":32,"username":"codinghorror","name":"Jeff Atwood","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/codinghorror/{size}/110067_2.png","admin":true,"trust_level":2},{"id":17969,"username":"Pad_Pors","name":"Pad Pors","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pad_pors/{size}/52016_2.png","trust_level":2},{"id":72263,"username":"denvergeeks","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/denvergeeks/{size}/327671_2.png","trust_level":2},{"id":135392,"username":"NateDhaliwal","name":"Nate Dhaliwal","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/natedhaliwal/{size}/313494_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":3},{"id":113000,"username":"chapoi","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/chapoi/{size}/537252_2.png","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":12933,"username":"gdpelican","name":"James Kiesel","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gdpelican/{size}/81308_2.png","trust_level":2},{"id":66606,"username":"spirobel","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/spirobel/{size}/170908_2.png","flair_name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111","flair_group_id":48,"trust_level":2},{"id":13378,"username":"angus","name":"Angus McLeod","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/angus/{size}/341715_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":88244,"username":"frank.manuel","name":"Frank Manuel","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/frank.manuel/{size}/203348_2.png","trust_level":2},{"id":185178,"username":"TimFelix","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/t/919ad9/{size}.png","trust_level":1},{"id":183669,"username":"Yan_Rudenko","name":"Yan Rudenko","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/yan_rudenko/{size}/493431_2.png","trust_level":1},{"id":78445,"username":"Don","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/don/{size}/228726_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":102688,"username":"valsha","name":"KingPin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/valsha/{size}/230631_2.png","trust_level":2},{"id":83631,"username":"Jagster","name":"Jakke Flemming","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jagster/{size}/192154_2.png","trust_level":3},{"id":103767,"username":"Usman_Shahid","name":"Usman Shahid","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/usman_shahid/{size}/232411_2.png","trust_level":2},{"id":57788,"username":"nathank","name":"Nathan Kershaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/nathank/{size}/290039_2.png","flair_name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_group_id":148,"trust_level":4},{"id":83098,"username":"jordan-violet","name":"Jordan Violet","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jordan-violet/{size}/281428_2.png","trust_level":2},{"id":142927,"username":"Rick_Jing","name":"Rick Jing","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/rick_jing/{size}/354677_2.png","trust_level":2},{"id":23968,"username":"david","name":"David Taylor","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/david/{size}/157490_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":3,"username":"supermathie","name":"Michael Brown","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/supermathie/{size}/507518_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":8722,"username":"Falco","name":"Falco","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/falco/{size}/179432_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":4},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/merefield/{size}/176214_2.png","trust_level":3},{"id":144959,"username":"gabriel","name":"Gabriel Grubba","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gabriel/{size}/367911_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":15209,"username":"pfaffman","name":"Jay Pfaffman","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pfaffman/{size}/120154_2.png","flair_name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_group_id":142,"trust_level":4},{"id":73340,"username":"Alexander","name":"Alexander Barrios","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/alexander/{size}/497634_2.png","flair_name":"support-enthusiasts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_group_id":151,"trust_level":2},{"id":63814,"username":"ondrej","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ondrej/{size}/198804_2.png","trust_level":3},{"id":101949,"username":"kinetiksoft","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/kinetiksoft/{size}/229578_2.png","trust_level":2},{"id":141342,"username":"martyn_thomas","name":"Martyn Thomas","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/martyn_thomas/{size}/344874_2.png","trust_level":2},{"id":67228,"username":"영광_임","name":"영광 임","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/영광_임/{size}/148997_2.png","trust_level":2},{"id":68923,"username":"Luke_Clancy","name":"Luke Clancy","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/luke_clancy/{size}/166703_2.png","trust_level":1},{"id":125384,"username":"SwanseN21","name":"Sean Monsanto","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/swansen21/{size}/283233_2.png","trust_level":1},{"id":139330,"username":"elle7","name":"Laura White","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/elle7/{size}/331525_2.png","trust_level":1},{"id":79292,"username":"honeymoose","name":"HoneyMoose","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/honeymoose/{size}/198718_2.png","trust_level":2},{"id":119102,"username":"Lhc_fl","name":"Linca","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lhc_fl/{size}/268115_2.png","trust_level":2},{"id":138598,"username":"wayway_way","name":"wayway way","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/wayway_way/{size}/327018_2.png","trust_level":2},{"id":14617,"username":"scavin","name":"scavin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/scavin/{size}/115938_2.png","flair_name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111","flair_group_id":50,"trust_level":2},{"id":45577,"username":"hawm","name":"Hawm","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/h/f07891/{size}.png","trust_level":2},{"id":34674,"username":"Johani","name":"Joe","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/johani/{size}/176920_2.png","trust_level":2},{"id":13093,"username":"pacharanero","name":"Marcus Baw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pacharanero/{size}/500583_2.png","primary_group_name":"VolunteerMods","flair_name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_group_id":276,"trust_level":4},{"id":98881,"username":"Luke_Cousins","name":"Luke Cousins","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/luke_cousins/{size}/223644_2.png","trust_level":2},{"id":29613,"username":"Timothy_Vail","name":"Timothy Vail","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/timothy_vail/{size}/90872_2.png","trust_level":2},{"id":36855,"username":"William04GamerA","name":"William","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/w/90db22/{size}.png","trust_level":2},{"id":66060,"username":"Michael_McCrae","name":"Michael McCrae","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/michael_mccrae/{size}/143362_2.png","trust_level":1},{"id":55682,"username":"Muwonge_Ronald","name":"Muwonge Ronald","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/muwonge_ronald/{size}/160546_2.png","trust_level":2},{"id":129042,"username":"SimonBiggs","name":"Simon Biggs","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/simonbiggs/{size}/292760_2.png","trust_level":2},{"id":109684,"username":"f1r4s","name":"Eddie","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/f1r4s/{size}/245347_2.png","trust_level":2},{"id":124068,"username":"wendellverli","name":"Wendell Fernandes","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/wendellverli/{size}/280396_2.png","trust_level":2},{"id":62294,"username":"Heliosurge","name":"Dan DeMontmorency","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/heliosurge/{size}/131899_2.png","trust_level":3},{"id":19473,"username":"neo","name":"R.Zhang","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neo/{size}/156675_2.png","trust_level":2},{"id":102068,"username":"jayarr","name":"JR","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jayarr/{size}/230949_2.png","trust_level":2},{"id":67026,"username":"PaulinaMX","name":"ForosMX","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/paulinamx/{size}/210473_2.png","trust_level":2},{"id":26605,"username":"LeoDavidson","name":"Leo Davidson","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/leodavidson/{size}/119574_2.png","trust_level":2},{"id":1995,"username":"zogstrip","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/zogstrip/{size}/512781_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":8571,"username":"tobiaseigen","name":"Tobias Eigen","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/tobiaseigen/{size}/539204_2.png","trust_level":2},{"id":28866,"username":"schungx","name":"Stephen Chung","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/schungx/{size}/70989_2.png","trust_level":2},{"id":5795,"username":"mattdm","name":"Matthew Miller","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/mattdm/{size}/216484_2.png","trust_level":2},{"id":85965,"username":"JonathanShaw","name":"Jonathan Shaw","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jonathanshaw/{size}/532672_2.png","trust_level":2},{"id":35474,"username":"Canapin","name":"Coin-coin le Canapin","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/canapin/{size}/119591_2.png","trust_level":3},{"id":33297,"username":"Heather_Dudley","name":"Heather Dudley","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/heather_dudley/{size}/151925_2.png","trust_level":2},{"id":96216,"username":"Johnny_McIvor","name":"Johnny McIvor","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/johnny_mcivor/{size}/218747_2.png","trust_level":2},{"id":12801,"username":"bartv","name":"Bart ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/bartv/{size}/130052_2.png","trust_level":2},{"id":71403,"username":"raghukamath","name":"Raghavendra Kamath","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/raghukamath/{size}/160330_2.png","trust_level":2},{"id":66204,"username":"fzngagan","name":"Faizaan Gagan","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/fzngagan/{size}/259349_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":3},{"id":75906,"username":"neounix","name":"Dark Matter","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neounix/{size}/215617_2.png","trust_level":2},{"id":74650,"username":"zcuric","name":"Zdravko","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/zcuric/{size}/292837_2.png","trust_level":2},{"id":23163,"username":"j.jaffeux","name":"Joffrey Jaffeux","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/j.jaffeux/{size}/60297_2.png","primary_group_name":"team","flair_name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_color":"111","flair_group_id":47,"admin":true,"trust_level":2},{"id":39022,"username":"Judith","name":"Judith Meyer","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/judith/{size}/289903_2.png","trust_level":2},{"id":38013,"username":"Gulshan_Kumar","name":"Gulshan Kumar","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gulshan_kumar/{size}/119562_2.png","trust_level":2},{"id":6626,"username":"riking","name":"Kane York","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/riking/{size}/170938_2.png","trust_level":2},{"id":2,"username":"neil","name":"Neil Lalonde","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/neil/{size}/102150_2.png","trust_level":2},{"id":30818,"username":"PoojaPatel","name":"Pooja Patel","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/p/edb3f5/{size}.png","trust_level":2}],"primary_groups":[{"id":276,"name":"VolunteerMods"},{"id":47,"name":"team"}],"flair_groups":[{"id":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"id":47,"name":"team","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/b/ebee30bd98aef20357e4a177a5a1e45b877ce088.svg","flair_bg_color":"","flair_color":"111"},{"id":48,"name":"plugin_authors","flair_url":"plug","flair_bg_color":"dddddd","flair_color":"111111"},{"id":142,"name":"support-experts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/2/e250ec403580530d19e6a9ed42d0d525a51a9dbe.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":276,"name":"VolunteerMods","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/2/7/d/27de051915b8a604d176484cd260d10cfc956d42.svg","flair_bg_color":"","flair_color":""},{"id":148,"name":"support-advocates","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/4/e4038d4d9848de2eabab38e17b8bdb69da154024.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":151,"name":"support-enthusiasts","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/1/3/13f5d8d7e56be8a6a1ea3de009b985a548aec8d4.svg","flair_bg_color":"FFFFFF","flair_color":""},{"id":50,"name":"translators","flair_url":"globe","flair_bg_color":"ddd","flair_color":"111"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/wiki/developers/179?page=1","per_page":30,"top_tags":[{"id":478,"name":"كيفية","slug":"how-to"},{"id":274,"name":"أدلة-الإضافات","slug":"plugin-guides"},{"id":150,"name":"تثبيت-المطور","slug":"dev-install"},{"id":479,"name":"شرح","slug":"explanation"},{"id":330,"name":"واجهة-برمجة-تطبيقات-rest","slug":"rest-api"},{"id":482,"name":"مرجع","slug":"reference"},{"id":820,"name":"أدلة-السمات","slug":"theme-guides"},{"id":16,"name":"ترجمة","slug":"translation"},{"id":2,"name":"شارات","slug":"badges"},{"id":813,"name":"محتوى","slug":"content"},{"id":814,"name":"تخصيص","slug":"customization"},{"id":278,"name":"تطوير","slug":"development"},{"id":484,"name":"دروس-تعليمية","slug":"tutorial"},{"id":618,"name":"حقول-مخصصة-للمستخدم","slug":"user-custom-fields"}],"topics":[{"fancy_title":"فهرس المطوِّر","fancy_title_localized":true,"locale":"en","id":322723,"title":"Developer Index","slug":"developer-index","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2024-08-21T14:15:42.960Z","last_posted_at":"2024-08-21T14:15:43.057Z","bumped":true,"bumped_at":"2024-08-21T14:15:43.057Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"إعداد بيئة تطوير Discourse: (outdated) Guide to Setting Up Discourse Development Environment - GitHub Codespace\nتمويه المحتوى غير اللائق (NSFW): Our solution for blurring NSFW content\nكتل التعليمات البرمجية الخاصة باللغ&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":259,"like_count":3,"has_summary":false,"last_poster_username":"Discourse","category_id":179,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Collection of links to various Discourse development guides, including environment setup, plugin creation, customization, and API usage, covering topics from beginner guides to advanced plugin development and theme customization.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"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":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37.png","created_at":"2022-09-21T19:19:52.577Z","last_posted_at":"2026-04-02T21:45:10.074Z","bumped":true,"bumped_at":"2026-04-02T21:45:10.074Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":bookmark: يشرح هذا الدليل كيفية تخصيص مظهر مربعات الفئات الفرعية في Discourse، بما في ذلك تعديل الأنماط للمواضيع المميزة، وتعديل نمط \"المربعات\"، وإدارة تقصير وصف الفئة…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1021,"height":257,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37.png"},{"max_width":800,"max_height":800,"width":800,"height":201,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_800x201.png"},{"max_width":600,"max_height":600,"width":600,"height":151,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_600x151.png"},{"max_width":400,"max_height":400,"width":400,"height":100,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_400x100.png"},{"max_width":300,"max_height":300,"width":300,"height":75,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_300x75.png"},{"max_width":200,"max_height":200,"width":200,"height":50,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/6/f/6f81f6c65323d8d5c2beb14c5458b3d8ee3f5e37_2_200x50.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"},{"id":814,"name":"تخصيص","slug":"customization"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":1448,"like_count":1,"has_summary":false,"last_poster_username":"Moin","category_id":179,"op_like_count":0,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user questions why topics remain visible on mobile despite desktop customizations, to which another member responds that separate mobile-specific settings likely control this behavior.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","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":"إعداد أداة Tooltip في منتداك","fancy_title_localized":true,"locale":"en","id":45792,"title":"Setup a ToolTip in your Forum","slug":"setup-a-tooltip-in-your-forum","posts_count":5,"reply_count":1,"highest_post_number":5,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01.png","created_at":"2016-06-16T23:09:01.116Z","last_posted_at":"2026-01-12T16:59:30.521Z","bumped":true,"bumped_at":"2026-01-12T16:59:30.521Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hi, this is my first post sharing a resource to help this wonderful community. \nI want to help them create simple forms a tooltip for your forum making it modern and clean, ok lets do it! \nFirst what is tooltip? A toolti&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":377,"height":418,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01.png"},{"max_width":400,"max_height":400,"width":360,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_360x400.png"},{"max_width":300,"max_height":300,"width":270,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_270x300.png"},{"max_width":200,"max_height":200,"width":180,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/2/9/29795cb79a11f5b947ca4b83334a38eee138cc01_2_180x200.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":3189,"like_count":23,"has_summary":false,"last_poster_username":"denvergeeks","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user shares CSS code to create tooltips for forums, while another suggests using a theme component instead, noting hover-based tooltips don’t work well on mobile devices.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","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":"قائمة مشتركة للاستيرادات لمكونات/إضافات الثيم (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":"أجد نفسي عادةً أبحث عن الاستيرادات لأشياء مختلفة عندما أقوم بإنشاء مكون سمة (Theme Component)، لذلك قررت تجميع مجموعة منها ووضعها هنا.\nمتعلق بـ Ember\n\nالاسم\nالاستيراد\nالاستخدام\n\nالمكون\nاستيراد...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":189,"like_count":12,"has_summary":false,"last_poster_username":"chapoi","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users appreciate the compiled list of Ember and Discourse imports for theme components, noting VS Code's autocomplete often suggests incorrect paths, making such references helpful.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","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 الموجودة في الإضافات","fancy_title_localized":true,"locale":"en","id":83389,"title":"Override existing Discourse methods in plugins","slug":"override-existing-discourse-methods-in-plugins","posts_count":9,"reply_count":5,"highest_post_number":13,"image_url":null,"created_at":"2018-03-20T11:37:16.168Z","last_posted_at":"2025-12-10T17:36:56.810Z","bumped":true,"bumped_at":"2025-12-10T17:36:56.810Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I’ve been running into a bunch of instances recently of needing to override existing ruby methods from plugins, and thought I’d share my best practices here. \nOverriding an instance method\nclass ::TopicQuery\n  module Bab&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"كيفية","slug":"how-to"},{"id":274,"name":"أدلة-الإضافات","slug":"plugin-guides"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":4890,"like_count":65,"has_summary":false,"last_poster_username":"TimFelix","category_id":179,"op_like_count":35,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A discussion on overriding existing Discourse methods in plugins, focusing on techniques for instance methods, class methods, and scopes, with a recent example showing how to override a singleton class method using prepend in a module.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","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":"تنفيذ التحقق من حقول المستخدم المخصصة","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)، و...","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":108,"like_count":1,"has_summary":false,"last_poster_username":"Yan_Rudenko","category_id":179,"op_like_count":1,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A developer shares a guide for implementing unique value validation on Discourse user custom fields via a custom plugin, addressing lack of documentation and core API usage.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":183669,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"تخصيص زر موضوع جديد","fancy_title_localized":true,"locale":"en","id":197848,"title":"Customize the New Topic button","slug":"customize-the-new-topic-button","posts_count":12,"reply_count":4,"highest_post_number":13,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804.gif","created_at":"2021-07-22T11:34:47.602Z","last_posted_at":"2025-06-10T22:58:15.707Z","bumped":true,"bumped_at":"2025-06-10T22:58:15.707Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nI just want to share with you how I make our new topic button. Little CSS :slight_smile: \nI use for this color variables. (tertiary, secondary and primary-medium) \nNew Topic button \n \nOpen Draft button \n \n\n#creat&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":542,"height":206,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804.gif"},{"max_width":400,"max_height":400,"width":400,"height":152,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_400x152.gif"},{"max_width":300,"max_height":300,"width":300,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_300x114.gif"},{"max_width":200,"max_height":200,"width":200,"height":76,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/00eff69c3ff5b23f725e12ce244a6c0892779804_2_200x76.gif"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":2403,"like_count":24,"has_summary":false,"last_poster_username":"nathank","category_id":179,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss customizing the New Topic button's appearance and text via CSS and theme components, with solutions shared for styling, hover effects, and text changes through site texts or I18n translations.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"ناشر متكرر","user_id":102688,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":83631,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":103767,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":57788,"primary_group_id":null,"flair_group_id":148}]},{"fancy_title":"العمل مع قوالب .erb في مكون إضافي","fancy_title_localized":true,"locale":"en","id":345777,"title":"Working with .erb templates in a plugin","slug":"working-with-erb-templates-in-a-plugin","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-01-06T09:12:26.736Z","last_posted_at":"2025-01-06T09:12:26.795Z","bumped":true,"bumped_at":"2025-04-13T11:08:29.684Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"لقد كنت أقدم بعض النصائح حول كيفية العمل مع قوالب .erb في Discourse مؤخرًا ولاحظت عدم وجود الكثير من التفاصيل حول هذا الموضوع هنا في meta، لذلك فكرت في بدء هذه المقالة الموسعة حول الموضوع. تفترض هذه المقالة الموسعة أنك ت&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":135,"like_count":8,"has_summary":false,"last_poster_username":"angus","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Angus initiated a wiki to explain working with .erb templates in Discourse plugins, covering server outlets, HTML builders, and template overriding, assuming prior Rails knowledge.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":13378,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"تحميل البيانات المسبق والتعامل مع مشاكل استعلام N+1","fancy_title_localized":true,"locale":"en","id":347688,"title":"Preloading data and dealing with N+1 Query problems","slug":"preloading-data-and-dealing-with-n-1-query-problems","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-01-17T14:41:19.061Z","last_posted_at":"2025-01-17T14:41:19.129Z","bumped":true,"bumped_at":"2025-01-17T15:17:12.872Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"عند العمل مع تطبيق Discourse rails، سواء كنت تبني إضافة أو تقوم بطلب سحب إلى discourse/discourse، ستواجه مشاكل استعلام N+1 في عدد من السياقات. يشرح هذا الموضوع كيفية التعامل مع تحميل البيانات المسبق لمعالجة مثل هذه المشا&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":156,"like_count":4,"has_summary":false,"last_poster_username":"angus","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Encountering N+1 query problems in Discourse rails application requires handling data preloading, addressed through eager loading associations and utilizing hooks like TopicView's on_preload method.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":13378,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"دليل إعداد بيئة تطوير Discourse (قديم) - GitHub Codespace","fancy_title_localized":true,"locale":"en","id":307231,"title":"(outdated) Guide to Setting Up Discourse Development Environment - GitHub Codespace","slug":"outdated-guide-to-setting-up-discourse-development-environment-github-codespace","posts_count":9,"reply_count":3,"highest_post_number":9,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_1024x827.png","created_at":"2024-05-08T10:44:56.543Z","last_posted_at":"2024-11-14T12:20:09.118Z","bumped":true,"bumped_at":"2024-11-14T12:20:09.118Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"التطوير باستخدام GitHub Codespaces\nGitHub Codespace هو خيار تطوير رائع. إنه رائع لأنه مستضاف في السحابة، يمكنني التأكد بسهولة من أن كل من يطور هنا لديه نفس البيئة، ولا توجد تعاملات مع تثبيتات Docker المحلية، وسهولة الو&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1920,"height":1552,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":827,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_1024x827.png"},{"max_width":800,"max_height":800,"width":800,"height":646,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_800x646.png"},{"max_width":600,"max_height":600,"width":600,"height":485,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_600x485.png"},{"max_width":400,"max_height":400,"width":400,"height":323,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_400x323.png"},{"max_width":300,"max_height":300,"width":300,"height":242,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_300x242.png"},{"max_width":200,"max_height":200,"width":200,"height":161,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/e/6/be6d2b97057f5c5195529fa13f081b6e5a995f8a_2_200x161.png"}],"tags":[{"id":150,"name":"تثبيت-المطور","slug":"dev-install"}],"tags_descriptions":{"تثبيت-المطور":"تعليمات ومشاكل تثبيت Discourse للتطوير"},"views":991,"like_count":29,"has_summary":false,"last_poster_username":"david","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse core updated with devcontainer configuration, simplifying development environment setup on GitHub Codespaces, rendering manual steps obsolete, as stated in official docs.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":83098,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":142927,"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":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":"البدء في استخدام Postman مع API Discourse","fancy_title_localized":true,"locale":"en","id":333669,"title":"Getting started using Postman with the Discourse API","slug":"getting-started-using-postman-with-the-discourse-api","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e.png","created_at":"2024-10-30T17:49:40.542Z","last_posted_at":"2024-10-30T17:49:40.683Z","bumped":true,"bumped_at":"2024-10-30T18:54:31.965Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"ملخص\nPostman هي طريقة سهلة لإنشاء واختبار الطلبات ضد واجهة برمجة التطبيقات (API). \nالإعداد مع Discourse\n\n\nبعد فتح Postman، انقر فوق إنشاء مساحة عمل: \n\n  \n\n\n\nاختر مساحة عمل فارغة وانقر فوق التالي. \n\n\nقم بتسميتها Discourse&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":633,"height":181,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e.png"},{"max_width":600,"max_height":600,"width":600,"height":171,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_600x171.png"},{"max_width":400,"max_height":400,"width":400,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_400x114.png"},{"max_width":300,"max_height":300,"width":300,"height":85,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_300x85.png"},{"max_width":200,"max_height":200,"width":200,"height":57,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/f/2/2/f222bdab4f11f399c8fb7df63c90a3db372b439e_2_200x57.png"}],"tags":[],"tags_descriptions":{},"views":209,"like_count":7,"has_summary":false,"last_poster_username":"supermathie","category_id":179,"op_like_count":7,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Postman is used to construct and test API requests; configuring it with Discourse API involves creating a workspace, importing the API, and adding authentication via variables and pre-request scripts.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":3,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"إضافة إعداد مخصص لكل مستخدم في إضافة","fancy_title_localized":true,"locale":"en","id":94048,"title":"Add a custom per-user setting in a plugin","slug":"add-a-custom-per-user-setting-in-a-plugin","posts_count":28,"reply_count":16,"highest_post_number":29,"image_url":null,"created_at":"2018-08-06T20:39:54.293Z","last_posted_at":"2023-12-20T18:49:07.515Z","bumped":true,"bumped_at":"2024-09-12T12:50:45.252Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I just went through this process and experienced a bunch of trial and error, so I thought I’d document my findings to help the next developer to come along. \nThe things I needed: \n\n\nRegister your custom field type (mine &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"كيفية","slug":"how-to"},{"id":274,"name":"أدلة-الإضافات","slug":"plugin-guides"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":4630,"like_count":120,"has_summary":false,"last_poster_username":"merefield","category_id":179,"op_like_count":33,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss adding custom per-user settings in a plugin, highlighting the required steps, potential issues with Ruby 3.x, and the possibility of a simpler registration method, while also exploring the display of custom fields in user profiles and cards.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":12933,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"ناشر متكرر","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"ناشر متكرر","user_id":8722,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"أحدث كاتب منشور","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"أتمتة إعداد إضافة Discourse باستخدام أداة `create-discourse-plugin` gem","fancy_title_localized":true,"locale":"en","id":315013,"title":"Automating Discourse Plugin Setup with `create-discourse-plugin` gem","slug":"automating-discourse-plugin-setup-with-create-discourse-plugin-gem","posts_count":8,"reply_count":4,"highest_post_number":8,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17.png","created_at":"2024-07-04T13:53:41.649Z","last_posted_at":"2024-08-27T18:26:52.104Z","bumped":true,"bumped_at":"2024-08-27T18:34:01.374Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":mega:  هذه الإضافة مضمنة الآن في نواة Discourse. لا حاجة لاستخدام هذه الجوهرة. \nلإنشاء إضافة جديدة، استخدم: \nrake plugin:create[plugin-name] \n\nمنذ أن بدأت في تطوير إضافات Discourse، شعرت أن الإعداد العام يمكن أن يكون أ&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":690,"height":278,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17.png"},{"max_width":600,"max_height":600,"width":600,"height":241,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_600x241.png"},{"max_width":400,"max_height":400,"width":400,"height":161,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_400x161.png"},{"max_width":300,"max_height":300,"width":300,"height":120,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_300x120.png"},{"max_width":200,"max_height":200,"width":200,"height":80,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1d3a38e2cdaeba5efdff8fc10ff0a5dbe926b17_2_200x80.png"}],"tags":[],"tags_descriptions":{},"views":493,"like_count":52,"has_summary":false,"last_poster_username":"pfaffman","category_id":179,"op_like_count":16,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The `create-discourse-plugin` gem has been deprecated as its functionality has been integrated into Discourse core via a new rake task, `rake plugin:create`, which now provides an official, git-based solution for plugin creation without relying on GitHub CLI.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":144959,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"ناشر متكرر","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"أحدث كاتب منشور","user_id":15209,"primary_group_id":null,"flair_group_id":142}]},{"fancy_title":"تخصيص ألوان الإشارة","fancy_title_localized":true,"locale":"en","id":219023,"title":"Customize mention colors","slug":"customize-mention-colors","posts_count":4,"reply_count":1,"highest_post_number":4,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/c/6cacf59bada15e604aa436a0ada30f6c52adaf14.png","created_at":"2022-02-22T03:59:40.782Z","last_posted_at":"2023-12-13T17:04:32.023Z","bumped":true,"bumped_at":"2023-12-13T17:04:32.023Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"مستوحى من هذا الموضوع، والألوان المخصصة لأدوار Discord، لقد كتبت هذا الكود البسيط جدًا الذي يضيف data-mention إلى إشارات المجموعات والمستخدمين، بهذه الطريقة لوضع ألوان مختلفة (وليس “لون عام”) عبر CSS :smile: \nالكود حاليً&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":112,"height":31,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/6/c/6cacf59bada15e604aa436a0ada30f6c52adaf14.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":1880,"like_count":15,"has_summary":false,"last_poster_username":"martyn_thomas","category_id":179,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users request adjustments to color mentions of everyone belonging to a specific group, and to identify users not in a group, building on the initial code that allows custom colors for individual mentions via CSS.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":73340,"primary_group_id":null,"flair_group_id":151},{"extras":null,"description":"ناشر متكرر","user_id":63814,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":101949,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":141342,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":" تعلم كيفية البدء في بناء أشياء لمنصة Discourse إذا كنت مبتدئًا (مثلي) ","fancy_title_localized":true,"locale":"en","id":45954,"title":"Learn how to start building stuff for Discourse if you're newbie (like myself)","slug":"learn-how-to-start-building-stuff-for-discourse-if-youre-newbie-like-myself","posts_count":15,"reply_count":6,"highest_post_number":26,"image_url":null,"created_at":"2016-06-17T15:22:19.799Z","last_posted_at":"2023-10-15T20:19:53.785Z","bumped":true,"bumped_at":"2023-10-15T20:19:53.785Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"There are a few ‘how to start’ guides for working with Discourse already and a wealth of useful info on meta, but I thought it might help to give an insight to the mental processes of starting from little, if any, prior &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":479,"name":"شرح","slug":"explanation"}],"tags_descriptions":{},"views":29849,"like_count":319,"has_summary":false,"last_poster_username":"elle7","category_id":179,"op_like_count":238,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A beginner's guide to building Discourse plugins is shared, emphasizing learning basics like widgets, Ember.js, and code structure, with community members confirming its usefulness and noting updates to code references and tools.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"ناشر متكرر","user_id":67228,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":68923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":125384,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":139330,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"تثبيت بيئة تطوير Discourse على Ubuntu","fancy_title_localized":true,"locale":"zh_CN","id":248481,"title":":cn: Installing the Discourse development environment on Ubuntu 在 Ubuntu 上安装 Discourse 开发环境","slug":"installing-the-discourse-development-environment-on-ubuntu-ubuntu-discourse","posts_count":6,"reply_count":3,"highest_post_number":9,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df.png","created_at":"2022-12-10T14:06:22.413Z","last_posted_at":"2023-10-13T06:20:08.282Z","bumped":true,"bumped_at":"2023-10-13T06:20:08.282Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"&lt;div&gt;&lt;/div&gt;\n\n\n:warning: هذا الدليل مخصص فقط لتكوين بيئة تطوير Discourse. إذا كنت بحاجة إلى تثبيت Discourse في بيئة إنتاجية، فيرجى زيارة الصفحة: Install Discourse in production with the official supported instructions. \n\n\n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"🇨🇳 Installing the Discourse development environment on Ubuntu 在 Ubuntu 上安装 Discourse 开发环境","thumbnails":[{"max_width":null,"max_height":null,"width":690,"height":375,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df.png"},{"max_width":600,"max_height":600,"width":600,"height":326,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_600x326.png"},{"max_width":400,"max_height":400,"width":400,"height":217,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_400x217.png"},{"max_width":300,"max_height":300,"width":300,"height":163,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_300x163.png"},{"max_width":200,"max_height":200,"width":200,"height":108,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/a/b/7abf3e163b634e6055a850caf0b974004f9e01df_2_200x108.png"}],"tags":[{"id":150,"name":"تثبيت-المطور","slug":"dev-install"}],"tags_descriptions":{"تثبيت-المطور":"تعليمات ومشاكل تثبيت Discourse للتطوير"},"views":2029,"like_count":6,"has_summary":false,"last_poster_username":"scavin","category_id":179,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Clarification provided on setting up a Discourse development environment in Ubuntu, specifically regarding creating a user with the same name as the Ubuntu system username, with users expressing gratitude for the clarification.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":79292,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":119102,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":138598,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":14617,"primary_group_id":null,"flair_group_id":50}]},{"fancy_title":"تعبئة ملحق Discourse كجوهرة","fancy_title_localized":true,"locale":"en","id":273036,"title":"Package a Discourse plugin as a gem","slug":"package-a-discourse-plugin-as-a-gem","posts_count":5,"reply_count":3,"highest_post_number":5,"image_url":null,"created_at":"2023-07-27T11:41:29.486Z","last_posted_at":"2023-07-27T16:59:01.681Z","bumped":true,"bumped_at":"2023-07-27T16:59:01.681Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"بدأت Pavilion في حزم بعض إضافات Discourse كـ ruby gems، بدءًا من عميل الاشتراك الخاص بنا. \n\n\nلا يزال عميل الاشتراك الخاص بنا إضافة منفصلة تقوم الآن بتحميل هذا الـ gem، ولكنه الآن معبأ بالكامل في الخلفية كـ gem وسيتم إهما&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":628,"like_count":19,"has_summary":false,"last_poster_username":"merefield","category_id":179,"op_like_count":14,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Packaging a Discourse plugin as a gem is suitable for backend components, but not for theme-related frontend code, which requires separate handling.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"ناشر متكرر","user_id":45577,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"مقاطع نص أو ماركداون قابلة للإدراج ومُدارة مركزيًا","fancy_title_localized":true,"locale":"en","id":97246,"title":"Insertable, centrally maintained text/markdown snippets","slug":"insertable-centrally-maintained-text-markdown-snippets","posts_count":10,"reply_count":1,"highest_post_number":10,"image_url":null,"created_at":"2018-09-15T07:17:42.016Z","last_posted_at":"2023-07-23T05:28:29.561Z","bumped":true,"bumped_at":"2023-07-23T07:03:44.781Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"I was wondering if there was any way I could define a string of text in a single place and insert it within posts with a single, short reference. \nIt’s a bit like the out of the box Admin -&gt; Customize -&gt; Text Content, bu&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":482,"name":"مرجع","slug":"reference"}],"tags_descriptions":{},"views":3729,"like_count":37,"has_summary":false,"last_poster_username":"denvergeeks","category_id":179,"op_like_count":3,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss implementing insertable, centrally managed text/markdown snippets in Discourse, with proposed solutions including a trigger string expanding to markdown, a composer button, or a plugin with configurable snippets.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":27384,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":34674,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"ناشر متكرر","user_id":98881,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":72263,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"إعداد روبوت دردشة ذكي على discourse :robot:","fancy_title_localized":true,"locale":"en","id":82632,"title":"Set up a smart chatbot on discourse :robot:","slug":"set-up-a-smart-chatbot-on-discourse","posts_count":15,"reply_count":8,"highest_post_number":16,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_1024x516.gif","created_at":"2018-03-09T16:50:11.492Z","last_posted_at":"2023-02-09T00:52:36.718Z","bumped":true,"bumped_at":"2023-02-09T00:52:36.718Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nAfter weeks of tinkering, I finally managed to set up an AI bot, similar to discobot but one that learns and is more responsive.  Here is how I did it for anyone interested in setting it up.  There is quite a few&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"unicode_title":"Set up a smart chatbot on discourse 🤖","thumbnails":[{"max_width":null,"max_height":null,"width":1200,"height":605,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211.gif"},{"max_width":1024,"max_height":1024,"width":1024,"height":516,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_1024x516.gif"},{"max_width":800,"max_height":800,"width":800,"height":403,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_800x403.gif"},{"max_width":600,"max_height":600,"width":600,"height":302,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_600x302.gif"},{"max_width":400,"max_height":400,"width":400,"height":201,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_400x201.gif"},{"max_width":300,"max_height":300,"width":300,"height":151,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_300x151.gif"},{"max_width":200,"max_height":200,"width":200,"height":100,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/c/ec96c1fb651b7b4ac62c75a3f0b352f2610c6211_2_200x100.gif"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":9163,"like_count":70,"has_summary":false,"last_poster_username":"SimonBiggs","category_id":179,"op_like_count":38,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user seeks clarification on the setup guide for a smart chatbot on Discourse, indicating potential difficulties in following the instructions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":29613,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":36855,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":66060,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":55682,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":129042,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"إضافة حماية حقوق النشر للمواضيع الموسومة","fancy_title_localized":true,"locale":"en","id":208970,"title":"Add copyright protection to tagged topics","slug":"add-copyright-protection-to-tagged-topics","posts_count":15,"reply_count":10,"highest_post_number":15,"image_url":null,"created_at":"2021-11-12T12:28:40.116Z","last_posted_at":"2022-12-17T14:46:39.178Z","bumped":true,"bumped_at":"2022-12-17T14:46:39.178Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"أهلاً، \nالعديد من أعضائنا لديهم مواضيع عالية الجودة، مقالات مدونة، إلخ… للأسف، يقوم آخرون بسرقة هذه (وجعلها متاحة للعامة على مواقع أخرى وكأنها ملكهم دون أي مصدر) حتى لو قال المؤلف بوضوح. “أنا أكتب هذا فقط لهذا الموقع، ير&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":1851,"like_count":43,"has_summary":false,"last_poster_username":"wendellverli","category_id":179,"op_like_count":18,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A copyright protection solution for tagged topics has been implemented and packaged into a Theme Component, with additional features to disable video downloads and right-click context menus, addressing concerns from users and improving content protection.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"ناشر متكرر","user_id":27384,"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":83631,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":124068,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"تفاعلات مخصصة لمنصة Discourse","fancy_title_localized":true,"locale":"en","id":198043,"title":"Custom Discourse Reactions","slug":"custom-discourse-reactions","posts_count":14,"reply_count":7,"highest_post_number":14,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd.gif","created_at":"2021-07-24T02:06:56.491Z","last_posted_at":"2022-05-29T15:40:23.040Z","bumped":true,"bumped_at":"2022-05-29T15:40:23.040Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Hello, \nI made some CSS modification on Discourse Reactions Plugin. So it looks much like Facebook reaction buttons. \nThese for 6 reaction buttons including the default which is on my site is :heart: . \nCOMMON / SCSS \nPl&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":502,"height":176,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd.gif"},{"max_width":400,"max_height":400,"width":400,"height":140,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_400x140.gif"},{"max_width":300,"max_height":300,"width":300,"height":105,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_300x105.gif"},{"max_width":200,"max_height":200,"width":200,"height":70,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/0/e0056318f848ada8e7d3f721c5b974da73222ccd_2_200x70.gif"}],"tags":[{"id":482,"name":"مرجع","slug":"reference"}],"tags_descriptions":{},"views":2885,"like_count":82,"has_summary":false,"last_poster_username":"Don","category_id":179,"op_like_count":25,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Custom Discourse Reactions are now available as a theme component, offering easier use, fixes, and settings, including reaction label, picker and panel rounding, and options to hide user lists and who liked sections.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"ناشر متكرر","user_id":62294,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":19473,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":102068,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":67026,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"إعداد كتل الشيفرة التي تبرز، مع خلفيات حسب اللغة","fancy_title_localized":true,"locale":"en","id":57255,"title":"Setup Code blocks that stand out, per-language backgrounds","slug":"setup-code-blocks-that-stand-out-per-language-backgrounds","posts_count":3,"reply_count":6,"highest_post_number":3,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557.png","created_at":"2017-02-11T23:23:52.641Z","last_posted_at":"2017-10-17T14:10:29.316Z","bumped":true,"bumped_at":"2022-02-10T22:45:23.062Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Here’s a really quick and easy CSS change that may benefit forums where people post code in a few different languages. \nAt least with the languages we use, Discourse does a great job of guessing which language code is in&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":716,"height":221,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557.png"},{"max_width":600,"max_height":600,"width":600,"height":185,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_600x185.png"},{"max_width":400,"max_height":400,"width":400,"height":123,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_400x123.png"},{"max_width":300,"max_height":300,"width":300,"height":92,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_300x92.png"},{"max_width":200,"max_height":200,"width":200,"height":61,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/e/f/efed2b833ae3f2570e6ada665d4f60aef6303557_2_200x61.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":3309,"like_count":30,"has_summary":false,"last_poster_username":"schungx","category_id":179,"op_like_count":20,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users suggest improvements to the code block design, proposing to extract the language name from the class instead of using images, or using CSS to add the language text via `:before` or `:after` pseudo-elements.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":26605,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":1995,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"ناشر متكرر","user_id":8571,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":28866,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"إنشاء وشم مخصص بصورة من خلال واجهة برمجة التطبيقات","fancy_title_localized":true,"locale":"en","id":210616,"title":"Create a custom badge with an image through the API","slug":"create-a-custom-badge-with-an-image-through-the-api","posts_count":3,"reply_count":0,"highest_post_number":3,"image_url":null,"created_at":"2021-12-01T00:14:48.335Z","last_posted_at":"2021-12-05T19:41:55.739Z","bumped":true,"bumped_at":"2021-12-07T01:28:19.597Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"بالتأكيد، الشارات المضمنة … لطيفة. لا يوجد شيء خاطئ بها على الإطلاق. ولكن، ماذا لو أردت المزيد؟ ماذا لو أردت تجاوز مجموعة الرموز المعرفة مسبقًا؟ بالتأكيد، هناك صفحة مسؤول حيث يمكنك تحميلها. ولكن ماذا لو أردت إنشاء الكثير&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"واجهة-برمجة-تطبيقات-rest","slug":"rest-api"},{"id":478,"name":"كيفية","slug":"how-to"},{"id":2,"name":"شارات","slug":"badges"}],"tags_descriptions":{"واجهة-برمجة-تطبيقات-rest":"مواضيع حول إجراء طلب خارجي إلى Discourse","كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة","شارات":""},"views":1988,"like_count":12,"has_summary":false,"last_poster_username":"mattdm","category_id":179,"op_like_count":7,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Creating custom badges through the API no longer requires a global admin key, but instead specific API key permissions, and uploading images requires \"upload\" permission in a separate section from badges API permissions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":5795,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"إعادة توجيه مسار موجود في مكون السمة","fancy_title_localized":true,"locale":"en","id":201900,"title":"Redirect an existing route in a theme component","slug":"redirect-an-existing-route-in-a-theme-component","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2021-08-27T12:33:37.464Z","last_posted_at":"2021-08-27T12:33:37.625Z","bumped":true,"bumped_at":"2021-08-27T12:33:37.625Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"To redirect an existing Discourse route in a theme component, you can use api.modifyClass to modify the route class. \nMore information can be found in the Ember documentation on routing redirection. Here’s an example: \n&lt;s&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"كيفية","slug":"how-to"},{"id":820,"name":"أدلة-السمات","slug":"theme-guides"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":1408,"like_count":8,"has_summary":false,"last_poster_username":"JonathanShaw","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Use `api.modifyClass` to modify a Discourse route class, enabling redirection in a theme component, with options to load data asynchronously using promise returns for conditional redirect decisions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":85965,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"تخصيص رمز التحميل","fancy_title_localized":true,"locale":"en","id":165743,"title":"Customize the loading icon","slug":"customize-the-loading-icon","posts_count":8,"reply_count":4,"highest_post_number":10,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/59a6848d38aaa5c6fbfb78ff9fe35c48f757c0fc.png","created_at":"2020-09-29T15:37:30.454Z","last_posted_at":"2021-06-16T18:12:06.469Z","bumped":true,"bumped_at":"2021-06-16T18:12:06.469Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Customize the loading icon\nNote that it changes the main loading icon, but not the small loading icon (composer, search menu, etc). \n\n\nEdit your current theme or create a new theme component. \n\n\nGo in &lt;/head&gt; and paste t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":61,"height":52,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/59a6848d38aaa5c6fbfb78ff9fe35c48f757c0fc.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":3231,"like_count":37,"has_summary":false,"last_poster_username":"Johnny_McIvor","category_id":179,"op_like_count":26,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users explore customizing the Discourse loading icon, with one successfully replacing the small spinner globally, while others inquire about using GIFs or static images, with the current limitation being no GIF support.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":78445,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"ناشر متكرر","user_id":33297,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":96216,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"حلنا لمعاملة محتوى NSFW بشكل غير واضح","fancy_title_localized":true,"locale":"en","id":124584,"title":"Our solution for blurring NSFW content","slug":"our-solution-for-blurring-nsfw-content","posts_count":10,"reply_count":9,"highest_post_number":22,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_1024x382.jpeg","created_at":"2019-08-01T07:38:30.472Z","last_posted_at":"2020-11-14T22:56:30.466Z","bumped":true,"bumped_at":"2020-11-14T22:56:30.466Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"At the Blender Artists forum we have a faily liberal content policy where we allow nudity and violence (up to a point). While most members are fine with this kind of content, there are of course audiences and situations &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1586,"height":592,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01.jpeg"},{"max_width":1024,"max_height":1024,"width":1024,"height":382,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_1024x382.jpeg"},{"max_width":800,"max_height":800,"width":800,"height":298,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_800x298.jpeg"},{"max_width":600,"max_height":600,"width":600,"height":223,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_600x223.jpeg"},{"max_width":400,"max_height":400,"width":400,"height":149,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_400x149.jpeg"},{"max_width":300,"max_height":300,"width":300,"height":111,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_300x111.jpeg"},{"max_width":200,"max_height":200,"width":200,"height":74,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/0/0/0040c0a0e1d99176a752e2927f02e0985a7ebd01_2_200x74.jpeg"}],"tags":[{"id":479,"name":"شرح","slug":"explanation"},{"id":813,"name":"محتوى","slug":"content"}],"tags_descriptions":{},"views":10391,"like_count":83,"has_summary":false,"last_poster_username":"codinghorror","category_id":179,"op_like_count":55,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discussion on implementing NSFW content blurring continues, with proposed solutions for mobile and hover issues, including click-based reveal and potential plugin development, as well as custom modifications for alternative use cases.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":12801,"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":71403,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":66204,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"أحدث كاتب منشور","user_id":32,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"استخدام Node-Red و Telegram لمراقبة حالة Discourse","fancy_title_localized":true,"locale":"en","id":157229,"title":"Use Node-Red and Telegram to Monitor Discourse Status","slug":"use-node-red-and-telegram-to-monitor-discourse-status","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_575x1024.png","created_at":"2020-07-09T07:17:02.690Z","last_posted_at":"2020-07-09T07:17:02.864Z","bumped":true,"bumped_at":"2020-07-09T07:17:02.864Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"يرجى ملاحظة أن هذا تطبيق مختلف عن إرسال إشعارات تطبيقات Discourse باستخدام المكون الإضافي لإشعارات Discourse Telegram. تطبيق NR هذا مخصص لمراقبة الخادم و Docker و Dis...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":750,"height":1334,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9.png"},{"max_width":1024,"max_height":1024,"width":575,"height":1024,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_575x1024.png"},{"max_width":800,"max_height":800,"width":449,"height":800,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_449x800.png"},{"max_width":600,"max_height":600,"width":337,"height":600,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_337x600.png"},{"max_width":400,"max_height":400,"width":224,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_224x400.png"},{"max_width":300,"max_height":300,"width":168,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_168x300.png"},{"max_width":200,"max_height":200,"width":112,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/3/b/3b0c191e3b5b32d85ef6003e733f00eda047ebb9_2_112x200.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":2546,"like_count":4,"has_summary":false,"last_poster_username":"neounix","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Neounix shares a Node-Red and Telegram setup for monitoring a Discourse server, Docker, and application, providing real-time alerts and checks, with plans for future expansion of Docker and Discourse monitoring functions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":75906,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"استخدام Ember.PromiseProxyMixin في سمة","fancy_title_localized":true,"locale":"en","id":147231,"title":"Use Ember.PromiseProxyMixin in a theme","slug":"use-ember-promiseproxymixin-in-a-theme","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2020-04-08T08:21:39.507Z","last_posted_at":"2020-04-08T10:01:08.796Z","bumped":true,"bumped_at":"2020-04-08T10:01:08.796Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Recently the Ember.PromiseProxyMixin was added to ember modules in the discourse core. \nhttps://github.com/discourse/discourse/pull/9312 \nIt’s very useful Ember mixin which allows you to make async requests and to work e&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"كيفية","slug":"how-to"},{"id":820,"name":"أدلة-السمات","slug":"theme-guides"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":1362,"like_count":9,"has_summary":false,"last_poster_username":"j.jaffeux","category_id":179,"op_like_count":4,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse now includes Ember.PromiseProxyMixin, allowing easier work with Promises in components, with potential for theme and plugin development, and plans to explore and simplify its application in the Discourse codebase.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"كاتب المنشور الأصلي","user_id":74650,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"أحدث كاتب منشور","user_id":23163,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"استخدم واجهة برمجة التطبيقات لإنشاء فئات مقيدة للمجموعات الخارجية","fancy_title_localized":true,"locale":"en","id":139107,"title":"Use the API to create restricted categories for external groups","slug":"use-the-api-to-create-restricted-categories-for-external-groups","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2020-01-19T18:31:12.605Z","last_posted_at":"2020-01-19T18:31:12.721Z","bumped":true,"bumped_at":"2020-01-19T18:31:12.721Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"إذا كان لديك موقع مجتمع يستخدم Discourse أيضًا (ولكن ليس حصريًا)، فقد ترغب في توفير منتدى فرعي مقيد لكل مجموعة من مجموعتك، على سبيل المثال كفضاء عمل. إليك كيفية القيام بذلك باستخدام Ruby:\n\nتأكد من أن واجهة برمجة التطبيقات الخاصة بك...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":330,"name":"واجهة-برمجة-تطبيقات-rest","slug":"rest-api"},{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"واجهة-برمجة-تطبيقات-rest":"مواضيع حول إجراء طلب خارجي إلى Discourse","كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":1289,"like_count":5,"has_summary":false,"last_poster_username":"Judith","category_id":179,"op_like_count":5,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Create restricted subforums for external groups in Discourse by authenticating API calls as an admin, creating a group, and programmatically generating a subforum accessible only to that group.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":39022,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"عرض تقييمات النجوم لصفحات Discourse في نتائج محركات البحث (SERPs)","fancy_title_localized":true,"locale":"en","id":84316,"title":"Display star ratings for Discourse pages in search engine results (SERPs)","slug":"display-star-ratings-for-discourse-pages-in-search-engine-results-serps","posts_count":14,"reply_count":7,"highest_post_number":14,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774.png","created_at":"2018-04-01T09:23:45.361Z","last_posted_at":"2019-04-26T10:31:01.659Z","bumped":true,"bumped_at":"2019-04-26T10:31:01.659Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Displaying star rating with Discourse is easy. I am happy to share, It can be done in simple few steps \nProcess \n\n\nSetup Google Tag Manager for your Discourse Application \n  \n\n\nAdd a new HTML Tag containing JSON-LD marku&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":555,"height":270,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774.png"},{"max_width":400,"max_height":400,"width":400,"height":194,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_400x194.png"},{"max_width":300,"max_height":300,"width":300,"height":145,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_300x145.png"},{"max_width":200,"max_height":200,"width":200,"height":97,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/5/9/595832e5dcdce03e82bbcedf2f398762e8f3d774_2_200x97.png"}],"tags":[{"id":478,"name":"كيفية","slug":"how-to"}],"tags_descriptions":{"كيفية":"تحتوي أدلة كيفية الإرشاد على خطوات يجب اتباعها لحل مشكلة معينة"},"views":3818,"like_count":39,"has_summary":false,"last_poster_username":"Gulshan_Kumar","category_id":179,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse's Google Tag Manager (GTM) support has been updated to add code to the head, resolving an issue with displaying star ratings in search engine results pages (SERPs) using GTM and JSON-LD markup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"كاتب المنشور الأصلي، أحدث كاتب منشور","user_id":38013,"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":13378,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"ناشر متكرر","user_id":2,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"ناشر متكرر","user_id":30818,"primary_group_id":null,"flair_group_id":null}]}]}}