{"result":{"depiction_url":null,"edges":{"hasreference":{"objects":[{"created":"2026-10-07T11:13:39Z","object_id":{"id":1576,"is_a":["text","documentation","cookbook"],"name":"doc_cookbook_writing_module","title":{"_type":"trans","tr":{"en":"Create a reusable module"}},"uri":"https:\/\/zotonic.com\/id\/1576"},"seq":1},{"created":"2026-10-07T11:13:39Z","object_id":{"id":2947,"is_a":["text","documentation","developerguide"],"name":"developer_asset_build","title":{"_type":"trans","tr":{"en":"Build and serve frontend assets"}},"uri":"https:\/\/zotonic.com\/id\/2947"},"seq":2}],"predicate":{"id":2774,"is_a":["meta","predicate"],"name":"hasreference","title":{"_type":"trans","tr":{"en":"Documentation reference"}},"uri":"https:\/\/zotonic.com\/id\/hasreference"}},"references":{"objects":[{"created":"2020-05-30T05:47:21Z","object_id":{"id":1353,"is_a":["text","documentation","developerguide"],"name":"doc_developerguide_modules","title":{"_type":"trans","tr":{"en":"Create a reusable module"}},"uri":"https:\/\/zotonic.com\/id\/1353"},"seq":1000000}],"predicate":{"id":332,"is_a":["meta","predicate"],"name":"references","title":{"_type":"trans","tr":{"en":"References"}},"uri":"https:\/\/zotonic.com\/id\/references"}},"subject":{"objects":[{"created":"2026-10-07T11:13:39Z","object_id":{"id":2557,"is_a":["categorization","keyword","keyword_information_type"],"name":"zotonic_topic_cookbook_recipe","title":"Cookbook recipe","uri":"https:\/\/zotonic.com\/id\/2557"},"seq":1},{"created":"2026-10-07T11:13:39Z","object_id":{"id":2563,"is_a":["categorization","keyword","keyword_audience"],"name":"zotonic_topic_frontend_developer","title":"Frontend developer","uri":"https:\/\/zotonic.com\/id\/2563"},"seq":2},{"created":"2026-10-07T11:13:39Z","object_id":{"id":2620,"is_a":["categorization","keyword","keyword_architecture"],"name":"zotonic_topic_template","title":"Template","uri":"https:\/\/zotonic.com\/id\/2620"},"seq":3},{"created":"2026-10-07T11:13:39Z","object_id":{"id":2583,"is_a":["categorization","keyword","keyword_domain"],"name":"zotonic_topic_user_interface_and_interaction","title":"User interface and interaction","uri":"https:\/\/zotonic.com\/id\/2583"},"seq":4}],"predicate":{"id":308,"is_a":["meta","predicate"],"name":"subject","title":{"_type":"trans","tr":{"en":"Keyword"}},"uri":"http:\/\/purl.org\/dc\/elements\/1.1\/subject"}}},"id":1430,"is_a":["text","documentation","cookbook"],"links":[{"rel":"self","target":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/1430"},{"rel":"hub","target":"https:\/\/zotonic.com\/.zotonic\/websub"}],"medium":null,"medium_url":null,"name":"doc_cookbook_admin_custom_style","page_url":{"en":"https:\/\/zotonic.com\/cookbook\/1430\/add-a-stylesheet-to-admin","x-default":"https:\/\/zotonic.com\/cookbook\/1430\/add-a-stylesheet-to-admin"},"preview_url":null,"resource":{"version":33,"pivot_location_lat":null,"title":{"_type":"trans","tr":{"en":"Add a stylesheet to admin"}},"is_authoritative":true,"body":{"_type":"trans","tr":{"en":"<p>Place your stylesheet at <code>priv\/lib\/css\/garden-admin.css<\/code> in the site or an active module. Add <code>priv\/templates\/_html_head_admin.tpl<\/code>:<\/p>\n<pre class=\"notranslate\"><code class=\"notranslate language-django\">{% lib &quot;css\/garden-admin.css&quot; %}\n<\/code><\/pre>\n<p>The admin head collects these templates from active applications. Keep selectors scoped to your own widget or a deliberate admin class; broad rules for every input or button can break other modules.<\/p>\n<p>For a reusable module, use an OTP application such as <code>zotonic_mod_garden_admin<\/code>, with <code>src\/zotonic_mod_garden_admin.app.src<\/code> and main module <code>mod_garden_admin.erl<\/code>. The application and module names differ intentionally. Follow the module creation task for its complete application metadata and activation.<\/p>\n<p>Compile, enable the module if applicable, reload admin and inspect the stylesheet request. Test narrow and wide screens and the form&#39;s error state.<\/p>"}},"slug":"add-a-stylesheet-to-admin","is_protected":false,"visible_for":0,"tz":"UTC","language":["en"],"is_featured":false,"content_group_id":{"id":339,"is_a":["meta","content_group"],"name":"default_content_group","title":{"_type":"trans","tr":{"en":"Default Content Group"}},"uri":"https:\/\/zotonic.com\/id\/default_content_group"},"category_id":{"id":318,"is_a":["meta","category"],"name":"cookbook","title":{"_type":"trans","tr":{"en":"Cookbook"}},"uri":"https:\/\/test.zotonic.com\/id\/318"},"publication_start":"2022-02-15T10:01:00Z","is_website_redirect":false,"github_url":"https:\/\/github.com\/zotonic\/zotonic\/tree\/master\/doc\/cookbook\/admin-custom-style.rst","pivot_location_lng":null,"name":"doc_cookbook_admin_custom_style","is_unfindable":false,"is_published":true,"doc_editorial_edges":{"hasreference":[1576,2947],"subject":[2557,2563,2583,2620]},"summary":{"_type":"trans","tr":{"en":"Use a small active module or site template override."}},"pivot_geocode":null,"custom_slug":false,"created":"2020-05-30T05:47:21Z","uri":null,"date_is_all_day":false,"is_dependent":false,"is_page_path_multiple":false,"publication_end":"9999-08-17T12:00:00Z","modifier_id":{"id":1,"is_a":["person"],"name":"administrator","title":"Site Administrator","uri":"https:\/\/zotonic.com\/id\/1"},"privacy":0,"doc_editorial_bundle":true,"creator_id":{"id":336,"is_a":["person","robot"],"name":"gitbot","title":"Git","uri":"https:\/\/zotonic.com\/id\/336"},"seo_noindex":false,"modified":"2026-10-07T11:13:47Z","title_slug":{"_type":"trans","tr":{"en":"add-a-stylesheet-to-admin"}}},"uri":"https:\/\/zotonic.com\/id\/1430","uri_template":"https:\/\/zotonic.com\/id\/:id","websub":{"hub":"https:\/\/zotonic.com\/.zotonic\/websub","topic":"https:\/\/zotonic.com\/.zotonic\/websub\/topic\/1430"}},"status":"ok"}