Příklad automatického vkládání souborů do stránky
This commit is contained in:
parent
1c0aa9d378
commit
14ecad3cf8
@ -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}
|
||||
|
||||
|
Reference in New Issue
Block a user