{"id":88,"date":"2024-01-16T00:00:00","date_gmt":"2024-01-15T23:00:00","guid":{"rendered":"https:\/\/helloblog.io\/cs\/acorn-prettify-nastupce-soil-a-dalsi-krok-roots-smerem-k-acornu\/"},"modified":"2026-01-20T06:32:58","modified_gmt":"2026-01-20T05:32:58","slug":"acorn-prettify-nastupce-soil-a-dalsi-krok-roots-smerem-k-acornu","status":"publish","type":"post","link":"https:\/\/helloblog.io\/cs\/acorn-prettify-nastupce-soil-a-dalsi-krok-roots-smerem-k-acornu\/","title":{"rendered":"Acorn Prettify: n\u00e1stupce Soil a dal\u0161\u00ed krok Roots sm\u011brem k Acornu"},"content":{"rendered":"\n<p>Kdo n\u011bkdy stav\u011bl projekt na Sage\/Roots stacku, pravd\u011bpodobn\u011b narazil na plugin Soil. Dlouh\u00e9 roky to byla sada \u201equality-of-life\u201c \u00faprav, kter\u00e9 vyhladily hrany WordPressu: \u010dist\u0161\u00ed markup, lep\u0161\u00ed vyhled\u00e1v\u00e1n\u00ed, relativn\u00ed URL a dal\u0161\u00ed drobnosti, kter\u00e9 ve v\u00fdsledku ud\u011blaj\u00ed web p\u0159\u00edv\u011btiv\u011bj\u0161\u00ed pro v\u00fdvoj i \u00fadr\u017ebu.<\/p>\n\n\n\n<p>Roots te\u010f ofici\u00e1ln\u011b p\u0159edstavili <strong>Acorn Prettify<\/strong> \u2013 nov\u00fd bal\u00ed\u010dek, kter\u00fd na Soil navazuje, ale je navr\u017een\u00fd pro sou\u010dasn\u00fd sm\u011br ekosyst\u00e9mu: <strong>Acorn<\/strong> (Laravel-like vrstva nad WordPressem, kter\u00e1 p\u0159in\u00e1\u0161\u00ed servis container, konfiguraci, CLI p\u0159\u00edkazy a bal\u00ed\u010dkov\u00e1n\u00ed p\u0159es Composer).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Co je Acorn Prettify a pro\u010d vznikl<\/h2>\n\n\n\n<p><strong>Acorn Prettify<\/strong> je n\u00e1stupce Soil. Nejde o \u201ep\u0159eklopen\u00fd\u201c plugin 1:1, ale o bal\u00ed\u010dek pro Acorn ekosyst\u00e9m, ve kter\u00e9m Roots cht\u011bj\u00ed dlouhodob\u011b udr\u017eovat jen ty \u010d\u00e1sti p\u016fvodn\u00edho Soil, kter\u00e9 d\u00e1vaj\u00ed nejv\u011bt\u0161\u00ed smysl a jsou praktick\u00e9 nap\u0159\u00ed\u010d projekty.<\/p>\n\n\n\n<p>Historicky byl Soil sou\u010d\u00e1st\u00ed Roots starter theme (cca 2011\u20132014). S p\u0159\u00edchodem Roots v7 se odd\u011blil do samostatn\u00e9ho pluginu. Dnes Roots \u0159\u00edkaj\u00ed jasn\u011b: jdou naplno do Acornu a cht\u011bj\u00ed, aby se kolem n\u011bj p\u0159irozen\u011b rozv\u00edjel bal\u00ed\u010dkov\u00fd ekosyst\u00e9m.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jak\u00e9 funkce Prettify p\u0159in\u00e1\u0161\u00ed (to podstatn\u00e9 ze Soil)<\/h2>\n\n\n\n<p>Acorn Prettify zahrnuje hlavn\u00ed funkce ze Soil, kter\u00e9 Roots pl\u00e1nuj\u00ed d\u00e1l udr\u017eovat:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li><strong>\u00daklid a zp\u0159ehledn\u011bn\u00ed WordPress markup<\/strong> \u2013 c\u00edlem je \u010dist\u0161\u00ed HTML v\u00fdstup a m\u00e9n\u011b \u201eWordPress \u0161umu\u201c v \u0161ablon\u00e1ch.<\/li>\n\n\n<li><strong>Nice search<\/strong> \u2013 v praxi typicky p\u0159\u00edjemn\u011bj\u0161\u00ed chov\u00e1n\u00ed vyhled\u00e1v\u00e1n\u00ed (sjednocen\u00ed a zp\u0159esn\u011bn\u00ed v\u00fdsledk\u016f).<\/li>\n\n\n<li><strong>Relative URLs<\/strong> \u2013 p\u0159evod n\u011bkter\u00fdch URL na relativn\u00ed tvar; nov\u011b jsou ale <strong>ve v\u00fdchoz\u00edm stavu vypnut\u00e9<\/strong>.<\/li>\n\n<\/ul>\n\n\n\n<div class=\"wp-block-group callout callout-info is-style-info is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Pozn\u00e1mka k \u201eRelative URLs\u201c<\/h4>\n\n\n<p>V Soil byla relativn\u00ed URL \u010dasto jedn\u00edm z prvn\u00edch toggl\u016f, kter\u00e9 si lid\u00e9 zap\u00ednali. V Prettify jsou podle ozn\u00e1men\u00ed ve v\u00fdchoz\u00edm nastaven\u00ed vypnut\u00e9, tak\u017ee se vyplat\u00ed zkontrolovat konfiguraci po migraci.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Migrace ze Soil na Acorn Prettify (Composer + \u00faklid v Sage)<\/h2>\n\n\n\n<p>Migrace je p\u0159\u00edmo\u010dar\u00e1, pokud m\u00e1\u0161 projekt postaven\u00fd kolem Composeru (typicky Bedrock\/Sage\/Acorn). Nejd\u0159\u00edv odebere\u0161 Soil a nahrad\u00ed\u0161 ho Prettify:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>composer remove roots\/soil\ncomposer require roots\/acorn-prettify\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> remove<\/span><span style=\"color:#9ECBFF\"> roots\/soil<\/span><\/span>\n<span class=\"line\"><span style=\"color:#B392F0\">composer<\/span><span style=\"color:#9ECBFF\"> require<\/span><span style=\"color:#9ECBFF\"> roots\/acorn-prettify<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>Pokud pou\u017e\u00edv\u00e1\u0161 Sage, je pot\u0159eba je\u0161t\u011b drobn\u00fd \u00faklid v t\u00e9matu: m\u016f\u017ee\u0161 odstranit nastaven\u00ed pro Soil z <code>add_theme_support<\/code> v souboru <code>app\/setup.php<\/code> (Roots k tomu odkazuj\u00ed na uk\u00e1zkovou zm\u011bnu v Sage repozit\u00e1\u0159i).<\/p>\n\n\n\n<p>Konkr\u00e9tn\u00ed diff: <a href=\"https:\/\/github.com\/roots\/sage\/pull\/3172\/files\">https:\/\/github.com\/roots\/sage\/pull\/3172\/files<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Konfigurace: v\u0161e se \u0159\u00edd\u00ed p\u0159es config\/prettify.php<\/h2>\n\n\n\n<p>Na rozd\u00edl od \u201eklasick\u00e9ho pluginu\u201c stylu WordPressu je Prettify konfigurovateln\u00fd p\u0159es konfigura\u010dn\u00ed soubor. Funkce se zap\u00ednaj\u00ed a lad\u00ed p\u0159es <code>config\/prettify.php<\/code>.<\/p>\n\n\n\n<p>Pokud chce\u0161 zm\u011bnit defaulty, nejd\u0159\u00edv si konfiguraci publikuje\u0161 do projektu a pak ji uprav\u00ed\u0161:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#24292e\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#e1e4e8;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>wp acorn vendor:publish --tag=prettify-config\n<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki github-dark\" style=\"background-color:#24292e;color:#e1e4e8\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color:#B392F0\">wp<\/span><span style=\"color:#9ECBFF\"> acorn<\/span><span style=\"color:#9ECBFF\"> vendor:publish<\/span><span style=\"color:#79B8FF\"> --tag=prettify-config<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div class=\"wp-block-group callout callout-warning is-style-warning is-layout-flow wp-block-group-is-layout-flow\" style=\"border-width:1px;border-radius:8px;padding-top:1rem;padding-right:1.5rem;padding-bottom:1rem;padding-left:1.5rem\">\n\n<h4 class=\"wp-block-heading callout-title\">Nezapome\u0148 na kontrolu po publishi<\/h4>\n\n\n<p>Po publikaci konfigurace se vyplat\u00ed proj\u00edt, co je skute\u010dn\u011b zapnut\u00e9\/vypnut\u00e9 (hlavn\u011b pokud jsi byl zvykl\u00fd na Soil defaulty). Prettify m\u016f\u017ee m\u00edt n\u011bkter\u00e9 volby nastaven\u00e9 konzervativn\u011bji.<\/p>\n\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Co to znamen\u00e1 pro projekty na Roots stacku<\/h2>\n\n\n\n<p>Prakticky jde o sign\u00e1l, \u017ee \u201edrobn\u00e9 vylep\u0161ov\u00e1ky\u201c kolem WordPressu se budou u Roots v\u00edc p\u0159esouvat do Acorn bal\u00ed\u010dk\u016f. Pro v\u00fdvoj\u00e1\u0159e to m\u00e1 dv\u011b v\u00fdhody: konzistentn\u011bj\u0161\u00ed zp\u016fsob konfigurace (config soubory, publish p\u0159es CLI) a jednodu\u0161\u0161\u00ed verzov\u00e1n\u00ed\/instalace p\u0159es Composer.<\/p>\n\n\n\n<p>Pokud m\u00e1\u0161 dnes Soil jako automatickou sou\u010d\u00e1st \u0161ablony nebo jako standardn\u00ed sou\u010d\u00e1st projektu, d\u00e1v\u00e1 smysl napl\u00e1novat v\u00fdm\u011bnu na Prettify \u2013 hlavn\u011b u projekt\u016f, kter\u00e9 u\u017e stejn\u011b stoj\u00ed na Acornu.<\/p>\n\n\n<div class=\"references-section\">\n                <h2>Reference \/ Zdroje<\/h2>\n                <ul class=\"references-list\"><li><a href=\"https:\/\/roots.io\/announcing-acorn-prettify\/\" target=\"_blank\" rel=\"noopener noreferrer\">Announcing Acorn Prettify<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/acorn-prettify\" target=\"_blank\" rel=\"noopener noreferrer\">roots\/acorn-prettify<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/soil\" target=\"_blank\" rel=\"noopener noreferrer\">roots\/soil<\/a><\/li><li><a href=\"https:\/\/roots.io\/creating-an-acorn-package\/\" target=\"_blank\" rel=\"noopener noreferrer\">Creating an Acorn Package<\/a><\/li><li><a href=\"https:\/\/github.com\/roots\/sage\/pull\/3172\/files\" target=\"_blank\" rel=\"noopener noreferrer\">Sage PR example (remove Soil theme supports)<\/a><\/li><li><a href=\"https:\/\/discourse.roots.io\/t\/-\/26545\" target=\"_blank\" rel=\"noopener noreferrer\">Discuss this post on Roots Discourse<\/a><\/li><\/ul>\n            <\/div>","protected":false},"excerpt":{"rendered":"<p>Roots posouv\u00e1 sv\u016fj WordPress stack d\u00e1l: Acorn Prettify p\u0159eb\u00edr\u00e1 udr\u017eovan\u00e9 \u010d\u00e1sti legend\u00e1rn\u00edho pluginu Soil a zapad\u00e1 p\u0159\u00edmo do Acorn ekosyst\u00e9mu.<\/p>\n","protected":false},"author":35,"featured_media":87,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[4,7,3,74,10],"class_list":["post-88","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ekosystem-wordpress","tag-acorn","tag-composer","tag-roots","tag-sage","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/users\/35"}],"replies":[{"embeddable":true,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":1,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"predecessor-version":[{"id":105,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/posts\/88\/revisions\/105"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/media\/87"}],"wp:attachment":[{"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/helloblog.io\/cs\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}