Jak formátovat kód, aby nevznikaly v latte (HTML) prázdné řádky?

Kcko
Člen | 465
+
0
-

Ahoj,

dejme tomu, že má nějaký takovýto pseudokód v latte:

<?php

  <url n:foreach="$sitemap as $item">
    {continueIf $item->redirect__navigation_id || $item->outurl}
    {var $presenterPriority = $item->presenter->sitemap_priority}
    {var $itemPriority = $item->sitemap_priority}
    {var $priority = $presenterPriority ? $presenterPriority : $itemPriority}
    <loc>{$baseUrl . $item->url}</loc>
    <lastmod n:if="$item->lastchange">{$item->lastchange->format('c')}</lastmod>
    <priority n:if="$priority">{$priority}</priority>
  </url>

?>

Což v prohlížeči (poslední Chrome, W11) vygeneruje

<?php
  <url>

    <loc>https://masoprofit2022.r.dev74.andweb.cz/nakupni-proces-sablony</loc>
    <lastmod>2021-07-02T11:58:25+02:00</lastmod>
    <priority>0.3</priority>
  </url>
  <url>

    <loc>https://masoprofit2022.r.dev74.andweb.cz/</loc>
    <lastmod>2022-11-05T16:21:03+01:00</lastmod>
  </url>
  <url>

?>

Čili je vidět, že tam kde jsem použil makro continueIf mi browser zařídil prázdný řádek.

Navíc ja bych si to chtěl ještě víc odsadit třeba takto

<?php
<?php

  <url n:foreach="$sitemap as $item">
    {continueIf $item->redirect__navigation_id || $item->outurl}

    {var $presenterPriority = $item->presenter->sitemap_priority}
    {var $itemPriority = $item->sitemap_priority}
    {var $priority = $presenterPriority ? $presenterPriority : $itemPriority}

    <loc>{$baseUrl . $item->url}</loc>
    <lastmod n:if="$item->lastchange">{$item->lastchange->format('c')}</lastmod>
    <priority n:if="$priority">{$priority}</priority>
  </url>

?>

Pak by tam těch prázdných řádků bylo ještě víc. Vím, že to ničemu nevadí, ale vadí to mně, když to vizuálně kontroluji.
Makro strip (spaceless) mi nepomůže, protože to zruší nové řádky zcela úplně.

Přehlédl jsem něco, jak to řešíte?

Editoval Kcko (20. 7. 2023 13:49)

Kamil Valenta
Člen | 762
+
-1
-

Kcko napsal(a):

Vím, že to ničemu nevadí, ale vadí to mně, když to vizuálně kontroluji.

A je nutné kontrolovat si to ve zdrojáku, kde se ty prázdné řádky projevují?
Není lépe si to inspectnout v nějaké konzoli, která (krom přeformátování) bude mít mraky dalších výhod?

nightfish
Člen | 473
+
+1
-

Kcko napsal(a):
Přehlédl jsem něco, jak to řešíte?

Neřešíme. HTML kód je určen pro strojové zpracování. Těch pár situací za rok, kdy se člověk nedívá do DOMu v developer tools, nýbrž do vygenerovaného HTML kódu, se dá přežít.

Kcko
Člen | 465
+
0
-

Kamil Valenta napsal(a):

Kcko napsal(a):

Vím, že to ničemu nevadí, ale vadí to mně, když to vizuálně kontroluji.

A je nutné kontrolovat si to ve zdrojáku, kde se ty prázdné řádky projevují?
Není lépe si to inspectnout v nějaké konzoli, která (krom přeformátování) bude mít mraky dalších výhod?

Nevadí, resp. pokud toho kontroluji moc (velký objem dat), tak DevTools nestíhá (je to obrovský HTML zdroják) a klasický browser source je výrazně rychlejší.

Kcko
Člen | 465
+
0
-

nightfish napsal(a):

Kcko napsal(a):
Přehlédl jsem něco, jak to řešíte?

Neřešíme. HTML kód je určen pro strojové zpracování. Těch pár situací za rok, kdy se člověk nedívá do DOMu v developer tools, nýbrž do vygenerovaného HTML kódu, se dá přežít.

OK, takto mi to taky stačí, díky.

Martk
Člen | 656
+
-2
-

Zpracuj si to v presenteru a výsledky si yieldni, tím ti opadne logický kód v latte šabloně, nebudeš mít mezery a díky yieldu nebudeš muset procházet pole na dvakrát.

Kcko
Člen | 465
+
0
-

Martk napsal(a):

Zpracuj si to v presenteru a výsledky si yieldni, tím ti opadne logický kód v latte šabloně, nebudeš mít mezery a díky yieldu nebudeš muset procházet pole na dvakrát.

Neptám se na konkrétní kód, ptal jsem se obecně.
Navíc není možnost, kvůli tomuhle všechno přepisovat, to snad chápeš ;)