Příklad automatického vkládání souborů do stránky

This commit is contained in:
Emil Miler 2020-03-31 18:28:14 +02:00
parent 1c0aa9d378
commit 14ecad3cf8
2 changed files with 12 additions and 2 deletions

View File

@ -111,9 +111,19 @@ Protože byly zadány všechny povinné i nepovinné atributy, výtupem toho fil
<div class="metadata">2020-03-22</div>
\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)$") %}
<img src="{{ get_url(path=asset) }}" alt="{{ 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}

BIN
prace.pdf

Binary file not shown.