You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
bakalarka/kap-paradigmata.tex

88 lines
7.1 KiB
TeX

\chapter{Webová paradigmata}\label{kap:paradigmata}
Ve světě webových stránek se setkáváme se spoustou forem a paradigmat, která se hodí pro zpracování různých druhů informací. Neexistuje žádné formální zařazení druhů webových stránek do skupin, ovšem některé webové portály se pokouší určit základní druhy webů, které se na Internetu objevují. Na základě těchto portálů a jejich rozřazení do skupin\footnote{\url{http://www.xislegraphix.com/website-types.html}}\footnote{\url{https://www.hostgator.com/blog/popular-types-websites-create}}\footnote{\url{https://www.quora.com/What-are-the-different-types-of-websites}}, které jsou často mířené na specifický obsah, lze vytvořit pět základních paradigmat. Jsou jimi:
\begin{itemize}
\item{Webová prezentace}
\item{Index všeobecných informací}
\item{Technická dokumentace}
\item{Galerie}
\item{Sociální sítě a fóra}
\end{itemize}
V~této práci bylo ke každému z~paradigmat vybráno několik existujících generátorů, které jsou vhodné pro generování a správu daného druhu obsahu. Výjimkou je skupina sociálních sítí a fór, kde staticky generovaný obsah není z~důvodu často se měnícího obsahu vhodným řešením.
\section{Webová prezentace}\label{kap:paradigmata-webova-prezentace}
Nejbližší původním webům z~dob vzniku WWW jsou webové prezentace, tedy stránky s~jednoduchým obsahem, které slouží k~předání informací čtenáři například formou článků. Do této skupiny lze zařadit portfolia, blog, online noviny a časopisy, firemní stránky, foto alba a podobně, a skvěle se hodí ke statickému generování obsahu.
Generátory pro tento typ webové stránky jsou univerzální, a lze je tedy aplikovat i na ostatní formy stránek. Většina existujících generátorů je zaměřena právě na toto paradigma, a lze z~čeho vybírat. Každým dnem vznikají nové implementace a svět statických generátorů se rapidně mění.
\begin{longtable}[c]{|l|l|l|}
\caption{Vybrané generátory pro webové prezentace}
\label{tab:generatory-prezentace}\\
\hline
\multicolumn{1}{|c|}{\textbf{Program}} & \multicolumn{1}{c|}{\textbf{Jazyk}} & \multicolumn{1}{c|}{\textbf{Podporované jazyky obsahu}} \\ \hline
\endfirsthead
%
\endhead
%
blogc\footnote{\url{https://blogc.rgm.io/}} & C & Vlastní jazyk blogc-source\footnote{\url{https://blogc.rgm.io/man/blogc-source.7.html}} založený na Markdownu \\ \hline
Hugo\footnote{\url{https://gohugo.io/}} & Go & Markdown, HTML, AsciiDoc, Pandoc Markdown, reST \\ \hline
Luapress\footnote{\url{https://luapress.org/}} & Lua & Markdown \\ \hline
Nift\footnote{\url{https://www.staticgen.com/nift}} & C++ & Agnostický, tj. Markdown, \LaTeX, HTML, JS, SQL, ... \\ \hline
Pelican\footnote{\url{https://blog.getpelican.com/}} & Python & Markdown, reST \\ \hline
ssg\footnote{\url{https://www.romanzolotarev.com/ssg.html}} & shell & Markdown (lowdown, Markdown.pl) \\ \hline
Zola\footnote{\url{https://www.getzola.org/}} & Rust & Markdown (CommonMark) \\ \hline
\end{longtable}
\section{Index všeobecných informací}
Za obecného zástupce tohoto druhu stránek lze považovat Wikipedii, která podnítila vznik spousty jiných takzvaných \uv{Wiki systémů} a stránek. Jde o~formu stránky, která obsahuje velké množství informací s~různou provázaností. Nejde o~lineární dokumentaci projektu, nýbrž o~encyklopedii obecných informací.
Jak již bylo řečeno, pro tuto formu stránek lze implementovat jakýmkoliv generátorem. Existují ale generátory vytvořené přímo pro účel tohoto paradigmatu. Takových generátorů je ovšem málo, jelikož jedním ze základních znaků wiki je to, že její obsah tvoří komunita uživatelů, což nemusí být vždy vhodné pro systém statického generování obsahu. Jedním takovým programem je ikiwiki\footnote{\url{https://ikiwiki.info/}}, který funguje stejně jako ostatní statické generátory. Další programy, například MDwiki\footnote{\url{https://dynalon.github.io/mdwiki}}, zpracovávají Markdown přímo v~prohlížeči a HTML obsah tedy není předgenerován na serveru.
MDwiki je prezentována jako generátor na míru pro wiki stránky, ovšem její výstup je velice podobný generátorům z~tabulky \ref{tab:generatory-technicka-dokumentace}.
\section{Technická dokumentace}
Od Wiki stránek se technická dokumentace liší organizováním svého obsahu, který je cílený na přesný popis systému či objektu. Obsah je strukturován jako manuál, nebo-li kniha, kde se obsah každé části věnuje danému tématu a různý obsah je strukturován do vlastních knih.
\begin{longtable}[c]{|l|l|l|}
\caption{Vybrané generátory pro technickou dokumentaci}
\label{tab:generatory-technicka-dokumentace}\\
\hline
\multicolumn{1}{|c|}{\textbf{Program}} &
\multicolumn{1}{c|}{\textbf{Jazyk}} &
\multicolumn{1}{c|}{\textbf{Podporované jazyky obsahu}} \\ \hline
\endfirsthead
%
\endhead
%
mdBook\footnote{\url{https://github.com/rust-lang/mdBook}} & Rust & Markdown \\ \hline
MkDocs\footnote{\url{https://www.mkdocs.org/}} & Python & Markdown \\ \hline
Sphinx\footnote{\url{https://www.sphinx-doc.org/}} & Python & reStructuredText \\ \hline
\end{longtable}
\section{Galerie}
V~případě galerií se jedná o~obsah složený primárně z~obrázků nebo videí uspořádaných ve struktuře pro jejich prezentaci. Mohou sloužit jako foto alba, časové příběhové osy, nebo jako portfolio produktů či fotografií.
Generátory galerií umožňují jednoduše řadit obrázky do skupin a vytvářet k~nim popisky. Markup jazyky zde nehrají tak velkou roli jako u~ostatních druhů paradigmat, jelikož hlavním obsahem není text, nýbrž samotné obrázky a videa.
\begin{longtable}[c]{|l|l|l|}
\caption{Vybrané generátory pro galerie}
\label{tab:generatory-galerie}\\
\hline
\multicolumn{1}{|c|}{\textbf{Program}} &
\multicolumn{1}{c|}{\textbf{Jazyk}} \\ \hline
\endfirsthead
%
\endhead
%
Exposé\footnote{\url{https://github.com/Jack000/Expose}} & shell \\ \hline
fgallery\footnote{\url{https://gitlab.com/wavexx/fgallery}} & Perl \\ \hline
Prosopopee\footnote{\url{https://github.com/Psycojoker/prosopopee/}} & Python \\ \hline
Sigal\footnote{\url{http://sigal.saimon.org/}} & Python \\ \hline
\end{longtable}