diff --git a/kap-modelova-implementace.tex b/kap-modelova-implementace.tex index c70217a..5235ba3 100644 --- a/kap-modelova-implementace.tex +++ b/kap-modelova-implementace.tex @@ -111,9 +111,19 @@ Protože byly zadány všechny povinné i nepovinné atributy, výtupem toho fil
2020-03-22
\end{lstlisting} -\todo[inline]{Přidat příklad filtru pro soubory.} +Pro modelový web byla zvážena možnost vypisování obsahu automaticky, tedy že program zkontroluje složku s obsahem a pokud narazí na soubor se specifikovanou koncovkou, vypíše jej do obsahu podle daných pravidel. Generátor Zola umožňuje prohledávání složek a práci se soubory, v rámci Zoly takzvanými \uv{assety}. Tuto funkcionalitu lze tedy implementovat jednoduchým cyklem a filtem, které zpracují všechny případné soubory ve složce dané stránky. Zoubory lze filtrovat mnoha způsoby, z nichž je nejuniverzálnější funkce \texttt{matching()}, která dovoluje filtrovat vstup regulárními výrazy dle implementace regex v jazyce Rust\footnote{\url{https://docs.rs/regex/1.3.6/regex/}}. -\todo[inline]{Přidat popis možnosti procházení assetů ve složce a proč e to v této implementaci nevhodné.} +\begin{lstlisting}[caption=Automatický výpis obrázků s danými koncovkami] +{% if section.assets %} + {% for asset in section.assets %} + {% if asset is matching("\.(?i:jpg|gif|png)$") %} + {{ asset }} + {% endif %} + {% endfor %} +{% endif %} +\end{lstlisting} + +Toto řešení ovšem není ve výsledném modelu implemntováno, protože jedním z požadavků je možnost vkládání těchto souborů na libovolné místo v obsahu. Implementací automatického vyplňování by se neznemožnilo libovolné vkládání těchto souborů, ovšem soubory by se v obsahu vyskytovaly několikrát, což by mohlo vést ke zvýšené nepřehlednosti celé stránky. \section{Optimalizace} diff --git a/prace.pdf b/prace.pdf index 04941f6..683c9ae 100644 Binary files a/prace.pdf and b/prace.pdf differ