{"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":100484,"username":"JammyDodger","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jammydodger/{size}/254611_2.png","trust_level":3},{"id":83775,"username":"fitzy","name":"Michael Fitz-Payne","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/fitzy/{size}/192549_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,"trust_level":4},{"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":166720,"username":"opcourdis","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/o/45deac/{size}.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":5859,"username":"j127","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/j127/{size}/79093_2.png","trust_level":2},{"id":27773,"username":"bletch","name":"Danny Goodall","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/bletch/{size}/69088_2.png","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":117526,"username":"Dave_Driesmans","name":"Dave Driesmans","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/dave_driesmans/{size}/253276_2.png","trust_level":0},{"id":179822,"username":"kcahtoor","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/9de0a6/{size}.png","trust_level":1},{"id":1,"username":"sam","name":"Sam Saffron","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/sam/{size}/102149_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":40486,"username":"TheBestPessimist","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/thebestpessimist/{size}/247704_2.png","trust_level":2},{"id":57427,"username":"Machigatta","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/machigatta/{size}/125064_2.png","trust_level":1},{"id":104279,"username":"nat","name":"Natalie T","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/nat/{size}/235063_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":19127,"username":"webeindustry","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/webeindustry/{size}/53973_2.png","trust_level":2},{"id":27611,"username":"Jen_Lijo","name":"Jen","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jen_lijo/{size}/77057_2.png","trust_level":2},{"id":19,"username":"eviltrout","name":"Robin Ward","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/eviltrout/{size}/5275_2.png","trust_level":4},{"id":23842,"username":"AhmadF.Cheema","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ahmadf.cheema/{size}/87109_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":28866,"username":"schungx","name":"Stephen Chung","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/schungx/{size}/70989_2.png","trust_level":2},{"id":141900,"username":"maaatt","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/m/ecb155/{size}.png","trust_level":2},{"id":25674,"username":"Jithin_Krishnan","name":"Jithin Krishnan","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jithin_krishnan/{size}/121329_2.png","trust_level":1},{"id":704,"username":"AstonJ","name":"AstonJ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/astonj/{size}/215041_2.png","trust_level":2},{"id":149694,"username":"Ambient.Impact","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/ambient.impact/{size}/387027_2.png","trust_level":1},{"id":-1,"username":"system","name":"system","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/system/{size}/443519_2.png","admin":true,"moderator":true,"trust_level":4},{"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":127856,"username":"Lilly","name":"Lillian ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/lilly/{size}/555832_2.png","trust_level":3},{"id":27384,"username":"merefield","name":"Robert","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/merefield/{size}/176214_2.png","trust_level":3},{"id":21029,"username":"pmusaraj","name":"Penar Musaraj","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/pmusaraj/{size}/119489_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":139654,"username":"AliBenBongo","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/a/da6949/{size}.png","trust_level":1},{"id":36685,"username":"Arkshine","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/arkshine/{size}/298682_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":3},{"id":93926,"username":"taravasya","name":"Вася Тарарин","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/taravasya/{size}/214539_2.png","trust_level":2},{"id":114728,"username":"darkpixlz","name":"Pyx ","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/darkpixlz/{size}/549896_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":14353,"username":"simon","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/simon/{size}/339122_2.png","trust_level":2},{"id":105081,"username":"Decorbuz","name":"","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/decorbuz/{size}/235124_2.png","trust_level":2},{"id":125230,"username":"Pieces","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/p/958977/{size}.png","trust_level":2},{"id":15442,"username":"jericson","name":"Jon Ericson","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/jericson/{size}/116215_2.png","flair_name":"support-explorers","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/d/1/b/d1ba0acf09b9d01f87f9e05bbee1dc5b0e316d5f.png","flair_bg_color":"dddddd","flair_color":"111111","flair_group_id":118,"trust_level":2},{"id":36692,"username":"seanblue","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/s/dc4da7/{size}.png","trust_level":2},{"id":131037,"username":"GregorSondermeier","name":"Gregor Sondermeier","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gregorsondermeier/{size}/299039_2.png","trust_level":2},{"id":119723,"username":"dubwoc","name":"","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/d/b4bc9f/{size}.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":155596,"username":"Daimonds_and_netherite","name":"USCHESSID: 32121789","avatar_template":"https://avatars.discourse-cdn.com/v4/letter/d/e0b2c6/{size}.png","trust_level":1},{"id":174008,"username":"Dimava","name":"Dimava","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/dimava/{size}/498540_2.png","trust_level":2},{"id":127446,"username":"gormus","name":"Osman Görmüş","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/gormus/{size}/428592_2.png","flair_name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111","flair_group_id":73,"trust_level":2},{"id":9858,"username":"dfabulich","name":"Dan Fabulich","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/dfabulich/{size}/108716_2.png","trust_level":2},{"id":101447,"username":"leonardo","name":"Leonardo Mosquera","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/leonardo/{size}/228634_2.png","trust_level":2},{"id":128201,"username":"kjs-fgx","name":null,"avatar_template":"https://avatars.discourse-cdn.com/v4/letter/k/a9adbd/{size}.png","trust_level":1},{"id":192487,"username":"micke","name":"Micke","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/micke/{size}/553682_2.png","trust_level":1},{"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":2770,"username":"awesomerobot","name":"Kris","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/awesomerobot/{size}/142900_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":39365,"username":"sarahann","name":"Sarah","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/sarahann/{size}/96703_2.png","trust_level":2},{"id":131832,"username":"hocine","name":"Hocine Mahmoudi","avatar_template":"/user_avatar/meta-redesign-2026.discourse.group/hocine/{size}/301751_2.png","trust_level":1}],"primary_groups":[{"id":47,"name":"team"},{"id":276,"name":"VolunteerMods"}],"flair_groups":[{"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":73,"name":"theme_authors","flair_url":"paintbrush","flair_bg_color":"ddd","flair_color":"111"},{"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":118,"name":"support-explorers","flair_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/d/1/b/d1ba0acf09b9d01f87f9e05bbee1dc5b0e316d5f.png","flair_bg_color":"dddddd","flair_color":"111111"}],"topic_list":{"can_create_topic":false,"more_topics_url":"/c/documentation/developer-guides/56?page=1","per_page":30,"top_tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":820,"name":"themen-anleitungen","slug":"theme-guides"},{"id":819,"name":"code","slug":"code"},{"id":274,"name":"plugin-anleitungen","slug":"plugin-guides"},{"id":484,"name":"lernunterlage","slug":"tutorial"},{"id":150,"name":"entwickler-installation","slug":"dev-install"},{"id":482,"name":"referenz","slug":"reference"},{"id":479,"name":"erklärung","slug":"explanation"},{"id":70,"name":"glut","slug":"ember"},{"id":58,"name":"testen","slug":"testing"},{"id":543,"name":"ki","slug":"ai"},{"id":643,"name":"auto-dunkel","slug":"auto-dark"},{"id":275,"name":"automatisierung","slug":"automation"},{"id":436,"name":"css","slug":"css"},{"id":814,"name":"anpassung","slug":"customization"},{"id":24,"name":"docker","slug":"docker"},{"id":799,"name":"index","slug":"index"},{"id":52,"name":"markdown","slug":"markdown"},{"id":328,"name":"plugin-api","slug":"plugin-api"},{"id":566,"name":"themenersteller","slug":"theme-creator"},{"id":16,"name":"übersetzung","slug":"translation"},{"id":25,"name":"wiki-beiträge","slug":"wiki-posts"}],"topics":[{"fancy_title":"Index der Entwicklerleitfäden","fancy_title_localized":true,"locale":"en","id":308036,"title":"Developer Guides Index","slug":"developer-guides-index","posts_count":1,"reply_count":1,"highest_post_number":1,"image_url":null,"created_at":"2024-05-15T06:05:51.350Z","last_posted_at":"2024-05-15T06:05:51.457Z","bumped":true,"bumped_at":"2026-06-01T15:09:46.938Z","archetype":"regular","unseen":false,"pinned":true,"unpinned":null,"excerpt":"Dokumentation zur Erweiterung von Discourse mit Plugins, Themes und Theme-Komponenten, zur Arbeit mit dem Core-Code und zur Nutzung der Discourse-API.\nEinleitung\n\nEinleitung: Einführung in die Discourse-Entwicklung\n\nEntwicklung&hellip;","visible":true,"closed":true,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":799,"name":"index","slug":"index"}],"tags_descriptions":{"index":"Dokumentationskategorie-Indexthemen."},"views":1986,"like_count":13,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":13,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discussion about creating a plugin skeleton, with the original link now found at https://meta.discourse.org/t/automating-discourse-plugin-setup-with-create-discourse-plugin-gem/315013, which provides a rake task for automating Discourse plugin setup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":100484,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse für die Entwicklung auf Fedora Linux einrichten","fancy_title_localized":true,"locale":"en","id":163348,"title":"Set up Discourse for development on Fedora Linux","slug":"set-up-discourse-for-development-on-fedora-linux","posts_count":13,"reply_count":12,"highest_post_number":25,"image_url":null,"created_at":"2020-09-08T11:00:32.308Z","last_posted_at":"2026-06-05T08:25:11.120Z","bumped":true,"bumped_at":"2026-06-05T08:25:11.120Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Diese Anleitung wurde gegen eine frische Installation von Fedora 31 und 33 getestet, sollte aber auch auf älteren Versionen funktionieren, die ebenfalls das Paketverwaltungstool dnf verwenden. Dies ist keine offizielle Anleitung, kann aber für andere Entwickler nützlich sein...","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":4491,"like_count":43,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":27,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users question the guide's official status and the use of an outdated Ruby version (2.7.1) in the Fedora Discourse development setup instructions.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":83775,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Autor vieler Beiträge","user_id":35474,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":166720,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Farbschema erstellen und teilen","fancy_title_localized":true,"locale":"en","id":61196,"title":"Create and share a color scheme","slug":"create-and-share-a-color-scheme","posts_count":2,"reply_count":0,"highest_post_number":3,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_1024x670.png","created_at":"2017-04-18T14:44:23.540Z","last_posted_at":"2025-08-01T18:49:05.210Z","bumped":true,"bumped_at":"2026-06-02T14:54:24.218Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse unterstützt jetzt das Importieren von Farbschemata aus einem Remote-Repository. Hier zeige ich Ihnen, wie Sie dabei vorgehen.\nNavigieren Sie zu Farben und fügen Sie ein Farbschema hinzu.\nGehen Sie auf Ihrer Website zu /admin/customize/colors&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1950,"height":1276,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":670,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_1024x670.png"},{"max_width":800,"max_height":800,"width":800,"height":523,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_800x523.png"},{"max_width":600,"max_height":600,"width":600,"height":392,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_600x392.png"},{"max_width":400,"max_height":400,"width":400,"height":261,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_400x261.png"},{"max_width":300,"max_height":300,"width":300,"height":196,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_300x196.png"},{"max_width":200,"max_height":200,"width":200,"height":130,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/3X/b/7/b7fced237ee399d52c634a3ab6fcc9416db65605_2_200x130.png"}],"tags":[{"id":478,"name":"anleitung","slug":"how-to"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob..."},"views":6291,"like_count":23,"has_summary":false,"last_poster_username":"j127","category_id":56,"op_like_count":23,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"User suggests adding 'hover' and 'selected' fields to the color scheme configuration for enhanced customization.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":5859,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Erstellen und Teilen einer Schriftart-Themenkomponente","fancy_title_localized":true,"locale":"en","id":62462,"title":"Create and share a font theme component","slug":"create-and-share-a-font-theme-component","posts_count":5,"reply_count":0,"highest_post_number":7,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_1024x412.png","created_at":"2017-05-10T20:48:47.477Z","last_posted_at":"2025-08-19T22:34:35.578Z","bumped":true,"bumped_at":"2026-06-02T14:54:22.736Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse unterstützt das Importieren von Themes, die Assets aus einem entfernten Repository enthalten. \nDies ermöglicht es Theme-Autoren, Schriftarten und Bilder zu teilen. \nErstellen Sie ein neues Git-Repository mit der Schriftart:\nmkdir discourse-roboto-theme\ncd discourse-r&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1508,"height":608,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":412,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_1024x412.png"},{"max_width":800,"max_height":800,"width":800,"height":322,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/1/d/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_800x322.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/c1de6b52ae98df03f557c91f1ae02251f08cda18_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/c1de6b52ae98df03f557c91f1ae02251f08cda18_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/c1de6b52ae98df03f557c91f1ae02251f08cda18_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/c1de6b52ae98df03f557c91f1ae02251f08cda18_2_200x80.png"}],"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":820,"name":"themen-anleitungen","slug":"theme-guides"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob..."},"views":5991,"like_count":23,"has_summary":false,"last_poster_username":"kcahtoor","category_id":56,"op_like_count":19,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users report errors with undefined variables and missing assets when following the font theme component guide, questioning if the instructions need updating.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":27773,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":null,"description":"Autor vieler Beiträge","user_id":117526,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":179822,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Entwicklung von Discourse-Plugins – Teil 6: Akzeptanztests hinzufügen","fancy_title_localized":true,"locale":"en","id":32619,"title":"Developing Discourse Plugins - Part 6 - Add acceptance tests","slug":"developing-discourse-plugins-part-6-add-acceptance-tests","posts_count":33,"reply_count":26,"highest_post_number":38,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_1024x715.png","created_at":"2015-08-27T21:32:26.323Z","last_posted_at":"2022-06-02T11:06:38.274Z","bumped":true,"bumped_at":"2026-06-02T14:54:21.418Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Vorheriges Tutorial: Entwicklung von Discourse-Plugins – Teil 5 – Eine Admin-Oberfläche hinzufügen\n\nWussten Sie, dass Discourse zwei große Testsuiten für seine Codebasis hat? Auf der Serverseite verfügt unser Ruby-Code über eine Testsuite, die rs&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1058,"height":739,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":715,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_1024x715.png"},{"max_width":800,"max_height":800,"width":800,"height":558,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_800x558.png"},{"max_width":600,"max_height":600,"width":600,"height":419,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_600x419.png"},{"max_width":400,"max_height":400,"width":400,"height":279,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_400x279.png"},{"max_width":300,"max_height":300,"width":300,"height":209,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_300x209.png"},{"max_width":200,"max_height":200,"width":200,"height":139,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/6/0/2/602e6bb3fe340f0569c1bfd60bb74f6d83d92893_2_200x139.png"}],"tags":[{"id":484,"name":"lernunterlage","slug":"tutorial"},{"id":274,"name":"plugin-anleitungen","slug":"plugin-guides"},{"id":58,"name":"testen","slug":"testing"}],"tags_descriptions":{"lernunterlage":""},"views":17409,"like_count":82,"has_summary":false,"last_poster_username":"nat","category_id":56,"op_like_count":30,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users are troubleshooting issues with running acceptance tests for Discourse plugins, resolving errors related to test suites, plugin registration, and EmberCLI, with solutions involving test setup, plugin configuration, and code updates.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Autor vieler Beiträge","user_id":40486,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":57427,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":104279,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Discourse-Plugins entwickeln – Teil 5: Eine Admin-Oberfläche hinzufügen","fancy_title_localized":true,"locale":"en","id":31761,"title":"Developing Discourse Plugins - Part 5 - Add an admin interface","slug":"developing-discourse-plugins-part-5-add-an-admin-interface","posts_count":47,"reply_count":40,"highest_post_number":51,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3.png","created_at":"2015-08-04T20:34:32.128Z","last_posted_at":"2024-09-24T11:10:58.173Z","bumped":true,"bumped_at":"2026-06-02T14:54:20.026Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Vorheriges Tutorial: Entwicklung von Discourse-Plugins – Teil 4 – Git einrichten\n\nManchmal reichen die Seiteneinstellungen nicht als Admin-Oberfläche für Ihr Plugin aus, um wie gewünscht zu funktionieren. Wenn Sie beispielsweise das Plugin discourse-akism… installieren,","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":995,"height":244,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3.png"},{"max_width":800,"max_height":800,"width":800,"height":196,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_800x196.png"},{"max_width":600,"max_height":600,"width":600,"height":147,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_600x147.png"},{"max_width":400,"max_height":400,"width":400,"height":98,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_400x98.png"},{"max_width":300,"max_height":300,"width":300,"height":73,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_300x73.png"},{"max_width":200,"max_height":200,"width":200,"height":49,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/f/c8f5548016153a30a3ace7679111c95847f293c3_2_200x49.png"}],"tags":[{"id":484,"name":"lernunterlage","slug":"tutorial"},{"id":274,"name":"plugin-anleitungen","slug":"plugin-guides"}],"tags_descriptions":{"lernunterlage":""},"views":26495,"like_count":85,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":28,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss and resolve issues with adding admin interfaces for their Discourse plugins, sharing code fixes and troubleshooting advice on Ember routing, file naming conventions, and testing errors.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":19127,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":27611,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":19,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Discourse-Plugins entwickeln – Teil 4: Git einrichten","fancy_title_localized":true,"locale":"en","id":31272,"title":"Developing Discourse Plugins - Part 4 - Setup git","slug":"developing-discourse-plugins-part-4-setup-git","posts_count":11,"reply_count":5,"highest_post_number":11,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007.png","created_at":"2015-07-21T20:54:59.409Z","last_posted_at":"2024-01-30T11:12:28.312Z","bumped":true,"bumped_at":"2026-06-02T14:54:17.764Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Vorgängiges Tutorial: Entwicklung von Discourse-Plugins – Teil 3 – Benutzerdefinierte Site-Einstellungen hinzufügen\n\nDa dein Plugin nun komplexer wird, ist es an der Zeit, auch deine Entwicklungsweise zu verfeinern. Wir empfehlen dir, …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":730,"height":413,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007.png"},{"max_width":600,"max_height":600,"width":600,"height":339,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_600x339.png"},{"max_width":400,"max_height":400,"width":400,"height":226,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_400x226.png"},{"max_width":300,"max_height":300,"width":300,"height":169,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_300x169.png"},{"max_width":200,"max_height":200,"width":200,"height":113,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/b/d/4/bd4e72b31887f4016cfe86b0d0617f1799f1d007_2_200x113.png"}],"tags":[{"id":484,"name":"lernunterlage","slug":"tutorial"},{"id":274,"name":"plugin-anleitungen","slug":"plugin-guides"}],"tags_descriptions":{"lernunterlage":""},"views":13108,"like_count":37,"has_summary":false,"last_poster_username":"maaatt","category_id":56,"op_like_count":23,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Windows and macOS users face challenges with symbolic links in Discourse plugin development; solutions include using junctions in Windows, aliases in macOS, or a synced folder in Vagrant to create working symlinks within the development environment.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":23842,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Autor vieler Beiträge","user_id":28866,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":141900,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Entwicklung von Discourse-Plugins – Teil 1: Ein einfaches Plugin erstellen","fancy_title_localized":true,"locale":"en","id":30515,"title":"Developing Discourse Plugins - Part 1 - Create a basic plugin","slug":"developing-discourse-plugins-part-1-create-a-basic-plugin","posts_count":33,"reply_count":87,"highest_post_number":141,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73.png","created_at":"2015-06-26T21:01:08.310Z","last_posted_at":"2025-07-08T20:52:10.855Z","bumped":true,"bumped_at":"2026-06-02T14:54:16.316Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Das Erstellen eines Plugins in Discourse kann wirklich einfach sein, sobald man ein paar Eigenheiten kennt. Ziel dieses Beitrags ist es, ein Skelett-Plugin zu erstellen und Sie mit den Grundlagen vertraut zu machen.\nIhre Entwicklungsumgebung\nStellen Sie sicher, dass Sie ha…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":845,"height":128,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73.png"},{"max_width":800,"max_height":800,"width":800,"height":121,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_800x121.png"},{"max_width":600,"max_height":600,"width":600,"height":90,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_600x90.png"},{"max_width":400,"max_height":400,"width":400,"height":60,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_400x60.png"},{"max_width":300,"max_height":300,"width":300,"height":45,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_300x45.png"},{"max_width":200,"max_height":200,"width":200,"height":30,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/9/7/b/97b7e2daac4cae0c6b3642a17d5b87dcec4b5c73_2_200x30.png"}],"tags":[{"id":484,"name":"lernunterlage","slug":"tutorial"},{"id":274,"name":"plugin-anleitungen","slug":"plugin-guides"}],"tags_descriptions":{"lernunterlage":""},"views":82768,"like_count":210,"has_summary":false,"last_poster_username":"Ambient.Impact","category_id":56,"op_like_count":110,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The discussion details an issue encountered when creating plugins with the Docker setup, requiring users to configure Git's user email and name within the container before running `rake plugin:create`.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":25674,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":13093,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Autor vieler Beiträge","user_id":704,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":149694,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"DModal-API verwenden, um Modal-Fenster (aka Popups/Dialoge) in Discourse darzustellen","fancy_title_localized":true,"locale":"en","id":268304,"title":"Using the DModal API to render Modal windows (aka popups/dialogs) in Discourse","slug":"using-the-dmodal-api-to-render-modal-windows-aka-popups-dialogs-in-discourse","posts_count":1,"reply_count":1,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35.png","created_at":"2023-07-03T09:52:06.275Z","last_posted_at":"2023-07-03T09:52:06.275Z","bumped":true,"bumped_at":"2026-06-02T14:54:11.378Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse 3.1.0.beta6 bringt eine brandneue, komponentenbasierte API für die <DModal>-Komponente mit.\n\nℹ️ Diese ersetzt die alte controllerbasierte API, die nun als veraltet gilt. Wenn Sie bestehende Modals mit den alten APIs verwenden, che…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":696,"height":258,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35.png"},{"max_width":600,"max_height":600,"width":600,"height":222,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_600x222.png"},{"max_width":400,"max_height":400,"width":400,"height":148,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_400x148.png"},{"max_width":300,"max_height":300,"width":300,"height":111,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_300x111.png"},{"max_width":200,"max_height":200,"width":200,"height":74,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/4/0/b/40be9a7c253202136882269ba77d47ad86bd6d35_2_200x74.png"}],"tags":[{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{},"views":2083,"like_count":17,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse 3.1.0.beta6 introduces the <DModal> component API for rendering modals, replacing the deprecated controller-based method, with examples for template use, component wrapping, and service-based triggering.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Text oder Bilder mit CSS-Pseudoelementen überall auf Ihrer Website einfügen","fancy_title_localized":true,"locale":"en","id":99200,"title":"Insert text or images anywhere on your site using CSS pseudo-elements","slug":"insert-text-or-images-anywhere-on-your-site-using-css-pseudo-elements","posts_count":1,"reply_count":6,"highest_post_number":1,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_1024x471.png","created_at":"2018-10-11T11:12:34.130Z","last_posted_at":"2018-10-11T11:12:34.130Z","bumped":true,"bumped_at":"2026-06-01T15:09:42.855Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Du möchtest also etwas Text oder ein Bild auf deiner Discourse-Website einfügen. \nBei Text reicht es in den meisten Fällen aus, ihn unter /admin/customize/site_texts zu ändern. \nManchmal möchten wir jedoch einen Satz hinzufügen …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1911,"height":879,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":471,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_1024x471.png"},{"max_width":800,"max_height":800,"width":800,"height":367,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_800x367.png"},{"max_width":600,"max_height":600,"width":600,"height":275,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_600x275.png"},{"max_width":400,"max_height":400,"width":400,"height":183,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_400x183.png"},{"max_width":300,"max_height":300,"width":300,"height":137,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_300x137.png"},{"max_width":200,"max_height":200,"width":200,"height":91,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/3/8/7382dd2cbcd102675e74e8a1853a79d2e32a0021_2_200x91.png"}],"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":814,"name":"anpassung","slug":"customization"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob..."},"views":17984,"like_count":33,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":33,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"To insert text or images on a site, use CSS pseudo-elements `:before` and `:after` to add content to elements without modifying existing HTML, by editing the site's stylesheet in the browser's developer console.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Designing for Different Devices (Viewport Size, Touch/Hover, etc.)","fancy_title_localized":false,"locale":null,"id":367810,"title":"Designing for Different Devices (Viewport Size, Touch/Hover, etc.)","slug":"designing-for-different-devices-viewport-size-touch-hover-etc","posts_count":15,"reply_count":11,"highest_post_number":15,"image_url":null,"created_at":"2025-05-27T18:17:05.719Z","last_posted_at":"2026-01-25T21:34:26.908Z","bumped":true,"bumped_at":"2026-06-01T15:09:36.242Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"This document outlines the APIs used to adapt Discourse’s user interface for different devices. \nViewport Size\nThe most important characteristic to consider is the viewport size. We design “mobile first” and then add cus&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":701,"like_count":24,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":12,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse is phasing out legacy mobile/desktop modes in favor of viewport and touch detection; users discuss deprecating outdated classes like pull-left and adapting core components for responsive layouts across devices.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Autor vieler Beiträge","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Autor vieler Beiträge","user_id":127856,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Guidelines for CSS classes using BEM","fancy_title_localized":false,"locale":null,"id":361851,"title":"Guidelines for CSS classes using BEM","slug":"guidelines-for-css-classes-using-bem","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-04-15T05:48:23.418Z","last_posted_at":"2025-04-15T05:48:23.483Z","bumped":true,"bumped_at":"2026-06-01T15:09:34.864Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Background\nWhen writing CSS classes for Discourse components, themes, or plugins, we follow a modified variant of Block Element Modifier (BEM). Following these guidelines will make it much less likely for CSS conflicts t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":294,"like_count":8,"has_summary":false,"last_poster_username":"system","category_id":56,"op_like_count":8,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Discourse uses a modified BEM variant for CSS classes, following specific syntax and guidelines to minimize conflicts and improve specificity.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Using Transformers to customize client-side values and behavior","fancy_title_localized":false,"locale":null,"id":349954,"title":"Using Transformers to customize client-side values and behavior","slug":"using-transformers-to-customize-client-side-values-and-behavior","posts_count":2,"reply_count":0,"highest_post_number":2,"image_url":null,"created_at":"2025-01-31T20:19:51.229Z","last_posted_at":"2025-11-03T03:00:09.908Z","bumped":true,"bumped_at":"2026-06-01T15:09:33.590Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse core includes a number of “transformer” hooks which can be used to customize client behavior. These fall into two categories: \n\n\nValue Transformers take an output from Discourse core, and optionally modify it, &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":605,"like_count":11,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":10,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A discussion on using Discourse's transformer hooks to customize client-side values and behavior, with recent updates including a PR to modify the Transformers registry link to the frontend directory.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Leitfaden für Entwickler zu Markdown-Erweiterungen","fancy_title_localized":true,"locale":"en","id":66023,"title":"Developer's guide to Markdown extensions","slug":"developers-guide-to-markdown-extensions","posts_count":2,"reply_count":13,"highest_post_number":24,"image_url":null,"created_at":"2017-07-11T21:23:25.941Z","last_posted_at":"2026-06-01T08:45:53.539Z","bumped":true,"bumped_at":"2026-06-01T08:45:53.539Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse verwendet eine Markdown-Engine namens Markdown-it.\nHier sind einige Entwicklerhinweise, die Ihnen helfen, entweder Fehler im Kern zu beheben oder neue Plugins zu erstellen.\nDie Grundlagen\nDiscourse enthält nur einige Hilfsprogramme zusätzlich zur Engine, …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":482,"name":"referenz","slug":"reference"},{"id":52,"name":"markdown","slug":"markdown"},{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{},"views":13554,"like_count":35,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":35,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"While the guide details creating Markdown extensions for Discourse, a user inquires whether these customizations can be implemented within Theme Components or are restricted to plugins.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Theme Developer Tutorial: 2. Creating a remote theme","fancy_title_localized":false,"locale":null,"id":357797,"title":"Theme Developer Tutorial: 2. Creating a remote theme","slug":"theme-developer-tutorial-2-creating-a-remote-theme","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2025-03-18T15:59:09.382Z","last_posted_at":"2025-03-18T15:59:09.454Z","bumped":true,"bumped_at":"2026-05-29T10:12:51.441Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"In the last chapter, we created a basic theme via the Discourse admin interface. This works well enough for very simple themes. But as soon as you want to do something more complex, or share a theme more widely, you’ll n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":724,"like_count":2,"has_summary":false,"last_poster_username":"system","category_id":56,"op_like_count":2,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The tutorial guides users through creating a remote Discourse theme using the discourse_theme CLI, syncing it to a Discourse instance, adding custom code, and preparing it for GitHub hosting.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Write end-to-end system specs for the Discourse user interface","fancy_title_localized":false,"locale":null,"id":325937,"title":"Write end-to-end system specs for the Discourse user interface","slug":"write-end-to-end-system-specs-for-the-discourse-user-interface","posts_count":4,"reply_count":2,"highest_post_number":5,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64.png","created_at":"2024-09-11T04:07:31.148Z","last_posted_at":"2025-08-28T14:51:13.004Z","bumped":true,"bumped_at":"2026-05-29T10:12:45.063Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Background\nRails system specs are used to simulate the actions of a real user using the app in a browser. We use the Playwright ruby driver which is becoming an industry standard. The tests run locally and in CI out of t&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":990,"height":602,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64.png"},{"max_width":800,"max_height":800,"width":800,"height":486,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_800x486.png"},{"max_width":600,"max_height":600,"width":600,"height":364,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_600x364.png"},{"max_width":400,"max_height":400,"width":400,"height":243,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_400x243.png"},{"max_width":300,"max_height":300,"width":300,"height":182,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_300x182.png"},{"max_width":200,"max_height":200,"width":200,"height":121,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/5/5/5/55573c386666cc876d212e64995fd6a7a8bccc64_2_200x121.png"}],"tags":[],"tags_descriptions":{},"views":619,"like_count":12,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":9,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user encountered test failures due to missing color schemes in the test database, which was resolved by resetting the test database using migration commands after confirming the issue was with the local Discourse instance setup.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":21029,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Google&rsquo;s &lsquo;Tachometer&rsquo; nutzen, um JS-Performance-Änderungen in Discourse zu messen","fancy_title_localized":true,"locale":"en","id":281158,"title":"Using Google's 'tachometer' to measure JS performance changes in Discourse","slug":"using-googles-tachometer-to-measure-js-performance-changes-in-discourse","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/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_1024x146.png","created_at":"2023-10-05T13:57:29.422Z","last_posted_at":"2023-10-05T13:57:29.614Z","bumped":true,"bumped_at":"2026-05-29T10:12:43.709Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Bei der Arbeit an clientseitigen Komponenten im Kern von Discourse, in Plugins oder Themes ist es wichtig, die Auswirkungen auf die Leistung zu berücksichtigen. Googles Projekt „Tachometer“ bietet ein statistisch fundiertes Benchmarking-Tool, das wir nutzen können, um …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1234,"height":176,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":146,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_1024x146.png"},{"max_width":800,"max_height":800,"width":800,"height":114,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_800x114.png"},{"max_width":600,"max_height":600,"width":600,"height":85,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_600x85.png"},{"max_width":400,"max_height":400,"width":400,"height":57,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_400x57.png"},{"max_width":300,"max_height":300,"width":300,"height":42,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_300x42.png"},{"max_width":200,"max_height":200,"width":200,"height":28,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/c/8/c/c8c2c8280eb16bf88a2041b68bf45af1ef81b6d8_2_200x28.png"}],"tags":[{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{},"views":986,"like_count":17,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Google's 'Tachometer' project is used to measure JS performance changes in Discourse by statistically benchmarking changes through a 'round-robin' approach, reducing external factor impact and producing a comparison table after hundreds/thousands of iterations.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Multisite-Entwicklungsumgebung einrichten","fancy_title_localized":true,"locale":"en","id":229310,"title":"Set up a multisite development environment","slug":"set-up-a-multisite-development-environment","posts_count":1,"reply_count":0,"highest_post_number":1,"image_url":null,"created_at":"2022-06-07T16:01:37.089Z","last_posted_at":"2022-06-07T16:01:37.228Z","bumped":true,"bumped_at":"2026-05-29T10:12:41.903Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Es ist möglich, Discourse im Entwicklungsbetrieb im Multisite-Modus auszuführen. Ein Multisite-Server verwendet für jede von ihm bediente Website eine eigene Datenbank und einen eigenen Hostnamen. Dies ist nützlich, wenn Sie eine Funktion oder ein Plugin entwickeln, das …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":2013,"like_count":12,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":12,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Set up multisite development by adding a `config/multisite.yml` file, specifying a separate DB and hostname for each site, and using the `RAILS_DB` environment variable to run rake tasks against targeted sites.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Installieren Sie Plugins in Ihrer nicht-Docker-Entwicklungsumgebung","fancy_title_localized":true,"locale":"en","id":205337,"title":"Install plugins in your non-Docker development environment","slug":"install-plugins-in-your-non-docker-development-environment","posts_count":1,"reply_count":2,"highest_post_number":1,"image_url":null,"created_at":"2021-10-06T09:47:24.341Z","last_posted_at":"2021-10-06T09:47:24.632Z","bumped":true,"bumped_at":"2026-05-29T10:12:40.846Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"(Dieser Leitfaden behandelt nur die Nicht-Docker-Entwicklungsinstallation. Für Docker-Entwicklung :whale: siehe Discourse für die Entwicklung mit Docker installieren)\nWenn Sie die Anweisungen zur Einrichtung Ihres lokalen Discourse befolgt haben, können Sie ein Plugin lokal installieren…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":3406,"like_count":16,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":16,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"To install a plugin locally in a non-Docker development environment, download the plugin, run migrations if necessary, restart the server, and edit settings at localhost:4200/admin/plugins.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest single","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse unter Windows für die Entwicklung installieren","fancy_title_localized":true,"locale":"en","id":75149,"title":"Install Discourse on Windows for development","slug":"install-discourse-on-windows-for-development","posts_count":17,"reply_count":57,"highest_post_number":120,"image_url":null,"created_at":"2017-12-01T06:36:51.406Z","last_posted_at":"2026-04-22T10:18:42.190Z","bumped":true,"bumped_at":"2026-05-29T10:12:39.158Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":information_source: Dieses Tutorial wurde unter Windows 10 und 11 getestet. \nUm eine Entwicklungsumgebung für Discourse unter Windows einzurichten, können Sie die Funktion Windows Subsystem for Linux verwenden. \nDiese Einrichtung erfordert …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":73728,"like_count":68,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":52,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users report installation failures on Ubuntu 24.04 within WSL preventing host access to port 3000, while a workaround involving replacing 127.0.0.1 with localhost resolves specific image loading issues.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":139654,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":36685,"primary_group_id":null,"flair_group_id":148},{"extras":null,"description":"Autor vieler Beiträge","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse auf Ubuntu oder Debian für die Entwicklung installieren","fancy_title_localized":true,"locale":"en","id":14727,"title":"Install Discourse on Ubuntu or Debian for Development","slug":"install-discourse-on-ubuntu-or-debian-for-development","posts_count":84,"reply_count":490,"highest_post_number":756,"image_url":null,"created_at":"2014-04-12T22:22:07.751Z","last_posted_at":"2025-06-22T00:31:14.326Z","bumped":true,"bumped_at":"2026-05-29T10:12:37.854Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: Diese Anleitung behandelt die Installation in einer Entwicklungsumgebung. Für eine Anleitung zur Produktionssituation siehe: Discourse in der Produktion mit den offiziellen unterstützten Anweisungen installieren\n\n\nSie möchten Discourse einrichten…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":198396,"like_count":133,"has_summary":true,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":66,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"User struggles to configure Discourse to run externally on a remote server, encountering issues with binding to the specified IP address.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":93926,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":114728,"primary_group_id":276,"flair_group_id":276},{"extras":null,"description":"Autor vieler Beiträge","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Discourse auf macOS für die Entwicklung installieren","fancy_title_localized":true,"locale":"en","id":15772,"title":"Install Discourse on macOS for development","slug":"install-discourse-on-macos-for-development","posts_count":103,"reply_count":236,"highest_post_number":402,"image_url":null,"created_at":"2014-05-19T16:59:50.976Z","last_posted_at":"2026-04-24T18:38:20.659Z","bumped":true,"bumped_at":"2026-05-29T10:12:36.599Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":warning: Diese Anleitung beschreibt die Installationsanweisungen für eine macOS-Entwicklungsumgebung. Für Produktionsanleitungen siehe: Discourse in der Produktion mit den offiziellen unterstützten Anweisungen installieren\n\nSie möchten Disc&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":114694,"like_count":283,"has_summary":true,"last_poster_username":"jericson","category_id":56,"op_like_count":78,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user suggests editing the newly posted macOS Discourse development installation guide into the first post of the topic for better visibility.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":105081,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":125230,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":14353,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":15442,"primary_group_id":null,"flair_group_id":118}]},{"fancy_title":"Discourse für die Entwicklung mit Docker installieren","fancy_title_localized":true,"locale":"en","id":102009,"title":"Install Discourse for development using Docker","slug":"install-discourse-for-development-using-docker","posts_count":227,"reply_count":189,"highest_post_number":326,"image_url":null,"created_at":"2018-11-16T09:40:04.247Z","last_posted_at":"2026-05-22T05:35:27.938Z","bumped":true,"bumped_at":"2026-05-29T10:12:35.336Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Entwicklung mit Docker\nDa Discourse in Docker läuft, können Sie Discourse direkt aus Ihrem Quellverzeichnis mit einem Discourse-Entwicklungscontainer ausführen.\n:white_check_mark: Vorteile: Keine Installation von &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":24,"name":"docker","slug":"docker"},{"id":150,"name":"entwickler-installation","slug":"dev-install"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","entwickler-installation":"Anleitungen und Probleme bei der Installation von Discourse für die Entwicklung"},"views":88298,"like_count":366,"has_summary":true,"last_poster_username":"dubwoc","category_id":56,"op_like_count":72,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user attempting to initialize the Discourse Docker development container encounters persistent permission errors when writing to the source directory, leading to failed gem installations, symlink creation issues, and eventual database connection failures despite applying broad chmod fixes.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":36692,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":131037,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":15209,"primary_group_id":null,"flair_group_id":142},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":119723,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Developing Discourse on GitHub Codespaces","fancy_title_localized":false,"locale":null,"id":336131,"title":"Developing Discourse on GitHub Codespaces","slug":"developing-discourse-on-github-codespaces","posts_count":15,"reply_count":10,"highest_post_number":17,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_1024x794.png","created_at":"2024-11-14T12:12:38.860Z","last_posted_at":"2025-09-09T13:50:26.566Z","bumped":true,"bumped_at":"2026-05-29T10:12:34.360Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"GitHub Codespaces is a very fast way to get started with Discourse development. Their free tier is good for 30 hours per month of a 4-core machine. \nGetting Started\n\n\nNavigate to the github repository \n\n\nPress the , (com&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1186,"height":920,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03.png"},{"max_width":1024,"max_height":1024,"width":1024,"height":794,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_1024x794.png"},{"max_width":800,"max_height":800,"width":800,"height":620,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_800x620.png"},{"max_width":600,"max_height":600,"width":600,"height":465,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_600x465.png"},{"max_width":400,"max_height":400,"width":400,"height":310,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_400x310.png"},{"max_width":300,"max_height":300,"width":300,"height":232,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_300x232.png"},{"max_width":200,"max_height":200,"width":200,"height":155,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/e/5/f/e5f24c96d301ed4246d1de639dd5b4b21a0e0d03_2_200x155.png"}],"tags":[],"tags_descriptions":{},"views":1718,"like_count":28,"has_summary":false,"last_poster_username":"NateDhaliwal","category_id":56,"op_like_count":13,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user reports issues with the ember-cli command terminating unexpectedly when impersonating and switching users in a GitHub Codespaces environment.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":95552,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":155596,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":1,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":135392,"primary_group_id":null,"flair_group_id":73}]},{"fancy_title":"Developing Discourse using a Dev Container","fancy_title_localized":false,"locale":null,"id":336366,"title":"Developing Discourse using a Dev Container","slug":"developing-discourse-using-a-dev-container","posts_count":14,"reply_count":8,"highest_post_number":15,"image_url":null,"created_at":"2024-11-15T16:44:08.898Z","last_posted_at":"2026-05-28T18:59:23.760Z","bumped":true,"bumped_at":"2026-05-29T10:12:32.762Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Dev Containers is an open standard for configuring a development environment inside a container. This almost entirely eliminates the need to install/configure Discourse-specific tools/dependencies on your local machine, &hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":17951,"like_count":36,"has_summary":false,"last_poster_username":"dfabulich","category_id":56,"op_like_count":13,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user reported that accessing the Discourse Dev Container via CLI on macOS failed due to port binding issues, leading them to recommend the legacy boot_dev script for non-VS Code environments.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":174008,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":127446,"primary_group_id":null,"flair_group_id":73},{"extras":null,"description":"Autor vieler Beiträge","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":9858,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Plugin- und Theme-Versionen für ältere Discourse-Installationen fixieren (d-compat-Branches)","fancy_title_localized":true,"locale":"en","id":272665,"title":"Pinning plugin and theme versions for older Discourse installs (d-compat branches)","slug":"pinning-plugin-and-theme-versions-for-older-discourse-installs-d-compat-branches","posts_count":5,"reply_count":3,"highest_post_number":7,"image_url":null,"created_at":"2023-07-26T10:00:42.315Z","last_posted_at":"2026-05-27T09:30:24.129Z","bumped":true,"bumped_at":"2026-05-27T09:30:24.129Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":":open_book: Hintergrund\nTheme- und Plugin-Entwickler möchten in der Regel die neueste Version von Discourse ansprechen, ohne sich um Abwärtskompatibilität kümmern zu müssen. Doch Seiten, die ältere Discourse-Versionen betreiben, benötigen dennoch eine Version …","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":1334,"like_count":28,"has_summary":false,"last_poster_username":"david","category_id":56,"op_like_count":17,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The documentation now describes the new d-compat branch strategy for pinning plugin and theme versions to older Discourse releases, which is officially available for use.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":135392,"primary_group_id":null,"flair_group_id":73},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":23968,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Code automatisch vor Commits linteren und formatieren","fancy_title_localized":true,"locale":"en","id":132947,"title":"Automatically lint and format code before commits","slug":"automatically-lint-and-format-code-before-commits","posts_count":1,"reply_count":2,"highest_post_number":1,"image_url":null,"created_at":"2019-11-08T17:16:11.987Z","last_posted_at":"2019-11-08T17:16:12.188Z","bumped":true,"bumped_at":"2026-05-15T19:55:01.432Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Discourse nutzt lefthook für Git-Hooks und bin/lint als primären CLI-Einstiegspunkt, um dieselben Prüfungen manuell auszuführen. \nWenn Sie in einem lokalen Klon arbeiten, installieren Sie die Hooks einmalig:\npnpm install\npnpm lefthook install\n\nDanach…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":819,"name":"code","slug":"code"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob..."},"views":1527,"like_count":11,"has_summary":false,"last_poster_username":"Discourse","category_id":56,"op_like_count":11,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"The Discourse repository now uses lefthook to automatically lint and format code before commits, blocking the process if errors are detected after running installation commands.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":"latest","description":"Autor des ersten Beitrags, Autor des jüngsten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":1,"primary_group_id":47,"flair_group_id":47}]},{"fancy_title":"Erste Schritte mit Theme Creator und der Theme CLI","fancy_title_localized":true,"locale":"en","id":108444,"title":"Get started with Theme Creator and the Theme CLI","slug":"get-started-with-theme-creator-and-the-theme-cli","posts_count":9,"reply_count":13,"highest_post_number":27,"image_url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_777x1024.png","created_at":"2019-02-05T18:40:04.304Z","last_posted_at":"2026-05-07T14:04:22.942Z","bumped":true,"bumped_at":"2026-05-07T14:04:22.942Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Dieses Thema führt Sie durch die Verwendung der Theme CLI mit unserer Theme Creator-Site, um ein Theme zu entwickeln und Ihre Änderungen auf einer Live-Discourse-Site in der Vorschau anzuzeigen.\n\n\nMelden Sie sich hier auf Meta für ein Konto an, falls Sie dies noch nicht getan haben\n\n\n&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":[{"max_width":null,"max_height":null,"width":1224,"height":1612,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/original/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277.png"},{"max_width":1024,"max_height":1024,"width":777,"height":1024,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_777x1024.png"},{"max_width":800,"max_height":800,"width":607,"height":800,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_607x800.png"},{"max_width":600,"max_height":600,"width":455,"height":600,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_455x600.png"},{"max_width":400,"max_height":400,"width":303,"height":400,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_303x400.png"},{"max_width":300,"max_height":300,"width":227,"height":300,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_227x300.png"},{"max_width":200,"max_height":200,"width":151,"height":200,"url":"//cdck-file-uploads-global.s3.dualstack.us-west-2.amazonaws.com/meta/optimized/4X/7/0/7/707f15c4b072258fb9e33c3a4fe7f30b715b4277_2_151x200.png"}],"tags":[{"id":478,"name":"anleitung","slug":"how-to"},{"id":566,"name":"themenersteller","slug":"theme-creator"},{"id":820,"name":"themen-anleitungen","slug":"theme-guides"}],"tags_descriptions":{"anleitung":"Anleitungen enthalten Schritte, denen man folgen muss, um ein bestimmtes Prob...","themenersteller":"Themen zum Discourse Theme Creator"},"views":12830,"like_count":58,"has_summary":false,"last_poster_username":"micke","category_id":56,"op_like_count":42,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A user reports that while the Theme CLI syncs changes successfully, custom color schemes defined in about.json do not appear in the theme selection interface or user preferences, leaving only a default scheme visible.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":101447,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":128201,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":114728,"primary_group_id":276,"flair_group_id":276},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":192487,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse toolkit to render forms","fancy_title_localized":false,"locale":null,"id":326439,"title":"Discourse toolkit to render forms","slug":"discourse-toolkit-to-render-forms","posts_count":29,"reply_count":18,"highest_post_number":33,"image_url":null,"created_at":"2024-09-13T21:20:27.941Z","last_posted_at":"2025-12-23T17:55:56.356Z","bumped":true,"bumped_at":"2026-05-06T20:13:17.223Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Basic Usage\nFormKit exposes a single component as its public API: &lt;Form /&gt;. All other elements are yielded as contextual components, modifiers, or plain data. \nEvery form is composed of one or multiple fields, represen&hellip;","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[],"tags_descriptions":{},"views":1493,"like_count":55,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":6,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"A discussion about correcting the parameter structure for the validateUsername function in FormKit, clarifying that it should accept { data, addError } instead of (name, value, data, { addError }) to avoid destructuring errors.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":-1,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":23163,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Autor vieler Beiträge","user_id":2770,"primary_group_id":47,"flair_group_id":47},{"extras":null,"description":"Autor vieler Beiträge","user_id":23968,"primary_group_id":47,"flair_group_id":47},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":27384,"primary_group_id":null,"flair_group_id":null}]},{"fancy_title":"Discourse-Plugins entwickeln – Teil 2: Mit einem Plugin-Outlet verbinden","fancy_title_localized":true,"locale":"en","id":31001,"title":"Developing Discourse Plugins - Part 2 - Connect to a plugin outlet","slug":"developing-discourse-plugins-part-2-connect-to-a-plugin-outlet","posts_count":39,"reply_count":21,"highest_post_number":42,"image_url":null,"created_at":"2015-07-12T17:48:27.322Z","last_posted_at":"2025-11-23T09:35:13.414Z","bumped":true,"bumped_at":"2026-05-05T17:38:29.859Z","archetype":"regular","unseen":false,"pinned":false,"unpinned":null,"excerpt":"Vorheriges Tutorial: Entwicklung von Discourse-Plugins – Teil 1 – Ein einfaches Plugin erstellen\n\nErste Schritte: Vorlagen\nDie Client-Anwendung von Discourse wurde mit dem JavaScript-Framework Ember.js entwickelt. Ember verwendet Vorlagen, um zu generieren…","visible":true,"closed":false,"archived":false,"bookmarked":null,"liked":null,"thumbnails":null,"tags":[{"id":484,"name":"lernunterlage","slug":"tutorial"},{"id":274,"name":"plugin-anleitungen","slug":"plugin-guides"}],"tags_descriptions":{"lernunterlage":""},"views":30155,"like_count":102,"has_summary":false,"last_poster_username":"merefield","category_id":56,"op_like_count":38,"pinned_globally":false,"featured_link":null,"ai_topic_gist":"Users discuss updating a command to find plugin outlets in Discourse, noting a deprecated link and suggesting a replacement resource for current documentation.","has_accepted_answer":false,"can_vote":false,"posters":[{"extras":null,"description":"Autor des ersten Beitrags","user_id":115923,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":39365,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":19,"primary_group_id":null,"flair_group_id":null},{"extras":null,"description":"Autor vieler Beiträge","user_id":131832,"primary_group_id":null,"flair_group_id":null},{"extras":"latest","description":"Autor des jüngsten Beitrags","user_id":27384,"primary_group_id":null,"flair_group_id":null}]}]}}