Úprava filtru pro vkládání videa
This commit is contained in:
parent
0e2f2135a9
commit
f3abff39c5
@ -74,18 +74,17 @@ V rámci vybraného generátoru není nutné specifikovat atributy na jeden řá
|
|||||||
<video controls><source src="video.webm"></video>
|
<video controls><source src="video.webm"></video>
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
Součástí požadavků pro modelový web jsou i citace přiložených souborů a videí. Existující filtr je tedy třeba rozšířit o možnost přiložení různých metadat. Tato metadata ovšem nejsou pro vložení videa povinná. Ve specifikaci vlastních filtrů lze využívat všechny operátory, které generátor nabízí. Nejlepším přístupem k tomuto problému je tedy využití jednoduchých podmínek, které kontrolují, zda je každá z hodnot zadána jako parametr a v případě že ano, vepíše se do obsahu. Atributy ošetřené podmínkami tedy nejsou povinné, zatímco nevyplněný atribut \texttt{src} by při generování vyvolal chybu. V následujícím příkladu jsou přidány tři podmínky pro kontrolu a případné vložení, jimiž jsou název videa (\texttt{title}), jméno autora (\texttt{author}) a datum vytvoření (\texttt{date}).
|
Součástí požadavků pro modelový web jsou i citace přiložených souborů a videí. Existující filtr je tedy třeba rozšířit o možnost přiložení různých metadat. Tato metadata ovšem nejsou pro vložení videa povinná. Ve specifikaci vlastních filtrů lze využívat všechny operátory, které generátor nabízí. Nejlepším přístupem k tomuto problému je tedy využití jednoduchých podmínek, které kontrolují, zda je každá z hodnot zadána jako parametr a v případě že ano, vepíše se do obsahu. Atributy ošetřené podmínkami tedy nejsou povinné, zatímco nevyplněný atribut \texttt{src} by při generování vyvolal chybu. V následujícím příkladu jsou přidány podmínky pro kontrolu a případné vložení, jimiž jsou název videa (\texttt{title}), jméno autora (\texttt{author}) a rok vytvoření (\texttt{year}).
|
||||||
|
|
||||||
\begin{lstlisting}[label=lst:filtr-s-podminkami,caption=Filtr pro vkládání videa s využitím podmínek]
|
\begin{lstlisting}[label=lst:filtr-s-podminkami,caption=Filtr pro vkládání videa s využitím podmínek]
|
||||||
{% if title %}
|
|
||||||
<div class="title">{{ title }}</div>
|
|
||||||
{% endif %}
|
|
||||||
<video controls><source src="{{ src }}"></video>
|
<video controls><source src="{{ src }}"></video>
|
||||||
{% if author %}
|
{% if title or year and author %}
|
||||||
<div class="metadata">{{ author }}</div>
|
<div class="metadata">
|
||||||
|
{% if title %}{{ title }}{% endif %}
|
||||||
|
{% if author and year %}
|
||||||
|
({{ year }}, {{ author }})
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if date %}
|
</div>
|
||||||
<div class="metadata">{{ date }}</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
@ -96,17 +95,17 @@ Filtr je možné opět vyvolat pomocí stejné direktivy kdekoliv v obsahu, ovš
|
|||||||
src="video.webm",
|
src="video.webm",
|
||||||
title="Název videa",
|
title="Název videa",
|
||||||
author="Jméno autora",
|
author="Jméno autora",
|
||||||
date="2020-03-22"
|
year="2020"
|
||||||
) }}
|
) }}
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
Protože byly zadány všechny povinné i nepovinné atributy, výtupem toho filtru budou i části kódu s metadaty.
|
Protože byly zadány všechny povinné i nepovinné atributy, výtupem toho filtru budou i části kódu s metadaty.
|
||||||
|
|
||||||
\begin{lstlisting}[caption=Výstup direktivy z příkladu \ref{lst:formatovani-atributu}]
|
\begin{lstlisting}[caption=Výstup direktivy z příkladu \ref{lst:formatovani-atributu}]
|
||||||
<div class="title">Název videa</div>
|
|
||||||
<video controls><source src="video.webm"></video>
|
<video controls><source src="video.webm"></video>
|
||||||
<div class="metadata">Jméno autora</div>
|
<div class="metadata">
|
||||||
<div class="metadata">2020-03-22</div>
|
Název videa (2020, Jméno autora)
|
||||||
|
</div>
|
||||||
\end{lstlisting}
|
\end{lstlisting}
|
||||||
|
|
||||||
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/}}. V následujícím příkladu je pro ilustraci této funkcionality implementován program vypisující obrázky s předem definovanými koncovkami.
|
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/}}. V následujícím příkladu je pro ilustraci této funkcionality implementován program vypisující obrázky s předem definovanými koncovkami.
|
||||||
|
Reference in New Issue
Block a user