Rozbalovací Mw-portál - ovládání klikem na řádek s černou šipkou vlevo.
WWW (World Wide Web), "světově rozprostřená pavučina/síť" zkráceně "web/net" či "internet" obsahuje tři základní oblasti.
A) technické prostředky pro uložení a přenos dat,
B) data a programy na serverech poskytovatelů,
C) prohlížeče na počítačích uživatelů - Chrome, Firefox, Edge, ...
Klíčovou úlohu pro fungování této sítě má "webová stránka", tj. soubor ve zdrojovém kódu jazyka HTML (Hypertext Markup Language), česky "hypertextový značkový jazyk", definovaný příponou ".htm". Můžeme si ho v prohlížeči prohlédnout pomocí "PT/Zobrazit zrojový kód stránky".
Webová stránka sama o sobě jako soubor, může obsahovat pouze textové informace, odkazy a pokyny pro různé formáty grafického, barevného i prostorového uspořádání. Veškerý další datový obsah, tj. obrázky, audio či video záznamy a pod. se teprve při zobrazování stránky prohlížečem přečtou a doplní z internetu dle adres, zadaných v jejím zdrojovém kódu.
Webovou stránku jako "Textový soubor" s příponou ".htm" nemusíme pouze číst z internetu, ale můžeme si ji sami vytvořit dle svých vlastních představ nebo potřeb. Pokud bude využívat data z internetu, můžeme ji jako samostatnou přílohu posílat mailem, případně celou nebo její vybranou část umístit na nějaký hostitelský server.
Pomocí vlastních webových stránek si můžeme též sestavit "domácí internet" k prohlížení obrázků či jiných dokumentů na svém počítači, notebooku nebo na přenosné "flashce" či DVD. Při autonomním prohlížení bez připojení k internetu, však musí být lokálně k dispozici i všechna odkazovaná data.
Odkazy pro další studium: Internet, Poskytovatel, Prohlížeč, Server, Web, Webová stránka, W3C (webové standardy),
Všeobecně je vnímáno, že internet přinesl zásadní změny v předávání informací. Je však užitečné připomenout, že i webová stránka jako informační medium, nabízí oproti psané nebo tištěné stránce kvalitativně úplně jiné možnosti prezentace.
Klasické stránky jsou především statické a můžeme prohlížet maximálně dvě najednou, pokud sešit či knihu rozevřeme. Webová stránka na široké obrazovce umožňuje zobrazení různého počtu samostatných bloků ve zvětšení či zmenšení dle potřeby anebo přímo otevření několika stránek ve více oknech. Samozřejmostí jsou odkazy prakticky kamkoliv a vložené obrázky, mapy nebo videa.
Nedávno však byla doplněna ještě možnost zobrazování a skrývání detailů na libovolných úrovních podrobnosti. To jí vlastně přidává třetí rozměr, který může zcela mimořádně zvyšovat přehlednost a praktickou využitelnost. Příkladem je tato "stránka", asi přesněji "dynamicky rozklikatelný strom informačních bloků", který si právě prohlížíte.
S využitím popisovaných vlastností se webová stránka stala zajímavou alternativou k prezentaci informací nejen na webu, ale vzhledem ke všudypřítomnosti připojení wi-fi i při lokálním využití. Klasické aplikace jako Word, Libre Office a Powerpoint sice také mohou podobné služby nabídnout, ale pružnost a rychlost, jakou poskytuje prohlížeč webové stránky je bez nadsázky "úplně jiná liga".
Základní vlastností stavebnice Mini-web je, že pokud chceme jednou vytvořenou webovou stránku v budoucnu upravovat, je třeba uchovávat soubor s navrhovacími příkazy v Mw-jazyku. Propracovaná a prověřená koncepce různě složitého členění jejího řízení práce pomocí prováděcích příkazů Mw-jazyka však umožňuje s minimální pracností zvládnout aktualizaci i poměrně rozsáhlých projektů.
aneb webové stránky lokálně a úvod do programování zdrojových kódů
Co je? - nástroj k aktivnímu seznámení s technicky nejvýznamnějšími fenomeny současnosti, mezi které určitě patří internet a programování.
Co nabízí? - přesně to, co říká název, tj. možnost využít základní webové technologie pro částečně automatizovanou tvorbu webových stránek "v malém".
Především je to velice výkonná pomůcka pro publikování textů či blogů, rozcestníků, rešerší a prezentací. Zdrojem informací mohou být libovolné stránky webu, vlastní texty, obrázky a foto-alba (rajče, zoner, ...), mapové podklady z portálu mapy.cz či videa na YouTube. Vytvořené stránky mohou sloužit pro vlastní potřebu, dají se posílat mailem anebo přímo vystavit na internetu.
Na každém počítači je současně s oživením stavebnice k dispozici plně funkční skutečný "miniaturní web", který můžeme analogicky využívat k prohlížení všech lokálně uložených webových stránek i ostatních souborů. Již první vytvořená stránka "Zápisník" totiž standardně obsahuje napojení na automaticky existující, běžně uživatelsky nepřístupnou síť webových stránek s odkazy na jednotlivé soubory (texty, foto, audio/video, ...) ve všech existujících složkách.
K čemu to je? - jedná se o integrované vývojové prostředí pro laickou tvorbu webových stránek, které jsou prakticky univerzální formou pro záznam a prezentaci výše zmíněných dat.
Vzhledem k tomu, že podmínkou fungování je instalace prováděcího prostředí Python, nabízí Mini-web možnost využít jeho vývojové a výukové prostředí IDLE pro úvod do praktického programování v tomto světově nejpopulárnějším jazyku. Dodané šablony, které stavebnice využívá, jsou psány v jazycích HTML a CSS, takže jsou vytvořeny podmínky pro další experimentování a studium i v tomto směru.
Mini-web je originální v tom, že uživatel není pasivně veden různými nabídkami, ale od počátku aktivně "programuje", tj. pracuje s jednoduchým počítačovým "Mw-jazykem". Nejprve pomocí příkazů pro řízení práce sestavuje požadovanou úlohu a potom s využitím příkazů pro vkládání typizovaných šablon a textů s formátovacími značkami postupně navrhuje, jak bude vygenerována výsledná webová stránka.
Významným přínosem takové koncepce je nutnost systematické a přesné práce. Současně však počítač uživatele nenásilně, ale důsledně "vychovává", jak je popsáno v následující kapitole.
aneb výchovné působení programovací stavebnice Mini-web
Vedlejším účinkem jejího využívání je podpora rozvoje a upevňování řady užitečných návyků:
1) cílevědomé jednání
Každý návrh webové stránky by měl začít stručnou písemnou odpovědí na otázku, "co" má svému čtenáři
sdělit. Jak známo "účel světí prostředky", takže stanovenému cíli pak je třeba přizpůsobit volbu
pokynů pro počítač i datový obsah stránky.
2) složité věci nutno rozdělit
Složitý celek nikdy není najednou zvládnutelný. To platí obecně nejenom "horizontálně" pro rozsah jednoho souboru se zdrojovým kódem či při ladění po malých krocích, ale i "vertikálně", tj. při zkoumání složitého problému postupně na různých úrovních podrobnosti.
3) systematický postup
Vždy je nutno hledat vše podstatné, co by mohlo ovlivnit výsledek a vztahy příčina-důsledek. Zdroj chyby často bývá jinde, než kde se projevila.
4) přesnost, důslednost a trpělivost
jsou hlavní podminky k dosažení stanoveného cíle v reálném čase. Taky ale též jistá míra "pokory" ve vztahu k počítači jako partnerovi, protože zdaleka ne všechno se hned podaří, takže je nutno se postupně naučit trpělivě dodržovat daná pravidla.
5) změna role z "pasivního uživatele" na "samostatného tvůrce"
Navrhovatel stránek si za všechno si může sám. Z toho vyplývající nezbytná samostatnost pak automaticky zvyšuje sebedůvěru. Z ovládaného (různými nabídkami) se stává ovládající, počítač ho nevede, ale je veden příkazy k realizaci přesně a jen toho, co je mu zadáno.
Při vědomí uvedených souvislostí pak může počítač fungovat jako "vyukový automat", při jehož využívání by v některých případech teoreticky mohlo stačit přiměřené usměrňování studujícího ze strany pedagoga či lektora.
K práci se stavebnicí potřebujeme: ---------------------------------- Standardní operační systém Windows 10 a vyšší Standardní webový prohlížeč Chrome, Firefox, Edge, ... Instalovat programové prostředí Python 3 a vyšší Instalovat a oživit pracovní prostředí *) Mini-web On-line dokumentaci a příklady na webu (právě prohlížíte) *) Obsahuje podrobnou Příručku s návrhovými vzory a nasměrování na vše podstatné, co by mohlo být užitečné
Postup při automatické instalaci: --------------------------------- 1) otevřeme stránku stažení Python 2) posuneme se níže na zelené tlačíko "Stáhnout zdarma" a klikneme na něj 3) vlevo dole se objeví tlačítko "python-3. ...", klikneme na jeho šipku a vybereme volbu "Otevřít" 4) objeví se nabídka dle obrázku: ponecháme základní volbu "Install Now", !!! dole je třeba zaškrtnout obě možnosti, tj. "Install" i "Add" !!! a klikneme "Enter" 5) "Setup was successful" ukončíme "Close" shodný postup po krocích 1) až 3) platí i pro odinstalování nebo upgrade aplikace, liší se až v dalších nabídkách
Postup při manuální instalaci ve Windows: ----------------------------------------- 1) V Dokumentech nebo jinde vytvoříme složku s názvem "Mini-web", která bude sloužit jako "pracovní prostředí Mw" a na ploše zřídíme zástupce pro její otevření (bude se hodit, když ji omylem zavřeme :o). 2) Klikneme na odkaz mw-instal-2309-18 (portál prog-story Technického muzea v Brně), který nám nabídne okno se zvýrazněným nápisem "Extrahovat". Pokračujeme vpravo nahoře "Extrahovat vše" > "Výběr cílové složky" > "Procházet" > "Vybrat složku" = "Mini-web", zaškrtnout "Po dokončení zobrazit ..." > "Extrahovat" 3) V pracovní složce "Mini-web" zřídíme zástupce pro otevření hlavní stránky pracovního prostředí "Mini-web" > "htm" > "Zapisnik.htm" a pro kontrolu úplnosti instalace stránku otevřeme vedle okna složky >> příklad. 4) Protože bezpečnostní ochrany neumožňují jako přílohy posílat soubory s příponou "*.cmd", je hlavní ovládací skript EDA expedován s příponou "*.txt". Pro spuštění je proto nutné ho otevřít v editoru "Poznámkový blok" a "uložit jako" s nastavením "Všechny soubory *.*" a příponou "*.cmd". Po úspěšné aktualizaci dle bodu 5) "EDA.txt" smažeme. 5) Dvojklikem na skript "EDA.cmd" spustíme od dodavatele sestavenou úlohu pro aktualizaci hlavní stránky "Zapisnik". Na příp. zprávu "Systém Windows ochránil ..." klikneme na "Další informace > Přesto spustit". 6) EDA by nám měl nabídnout editaci návrhu stránky "Zapisnik", kterou zatím pouze uzavřeme bez úprav a skript by měl skončit. 7) Obnovíme okno otevřené stránky "Zápisník" a zkontrolujeme, zda je na ní právě aktuální datum a čas aktualizace. Pokud je OK, můžeme pokračovat, jinak je nutno hledat, kde nebyl dodržen postup, příp. istalaci zopakovat.
Postup při aktualizaci návrhu stránky: -------------------------------------- 1) Návrh datového obsahu hlavní stránky "Zapisnik.txt" a úlohu její aktualizace vytvořil dodavatel aplikace k usnadnění prvních kroků se stavebnicí. Úlohu spustíme skriptem "EDA.cmd", který nám návrh stránky nabídne k editaci. 2) V příkazu ">A-nav" pro vložení šablony se záhlavím a vlastnostmi stránky upravíme řádek parametru "Nadpis stránky" na "Zápisník". 3) V příkazu ">Z-txl" pro vložení šablony s tiráží stránky nahradíme v řádku parametru slovo "Autor" svojí zkratkou nebo jménem. 4) Změny uložíme stiskem "Ctrl+S", zavřeme okno editoru, např. pomocí "Alt+F4", v okně prohlížeče obnovíme zobrazení stránky "Zapisnik.htm" a zkontrolujeme správnost provedených změn. (!!!) Když výsledek není OK, postupujeme podle Doporučení pro ladění. 5) (!!!) Pro osvojení základního ovládání si aktualizaci několikrát zopakujeme za účelem experimentování, při kterém si namísto "... datového obsahu ..." postupně napíšeme libovolný text s formátovacími značkami (f-značkami):
// = vertikální odsazení (nový řádek) (_) = horizontální odsazení = pevně vložená mezera (t_---_t), kde "---" = úsek tučného textu a vyzkoušíme si, jaké další možnosti nam nabízejí značky: (k_---_k), (mk_---_mk), ((_---_)), (_---_), (v_---_v), (m_---_m), (h_---_h), (d_---_d), (r1_---_r), (r2_---_r)
6) (!!!) Značky zkusíme na řádku umístit jinam, případně je vynechat anebo dolnit libovolný další text, třeba i na více řádků a budeme sledovat výsledné zobrazení datového obsahu stránky. 7) (!!!) Prohlédneme si také odkazy na řádku "Mini-web:", který tvoří tzv. "lištu lokální navigace". Jejím účelem je umožnit prohlížení všech návrhů stránek ve složce "txt" a výsledných stránek ve složce "htm", aktuálního protokolu z generování, sestavení úlohy v souboru "Rizeni-prace" a přejít na stránku Příručky.
Zde na webu je pouze rámcový slovní popis pro orientaci a vybrané pokyny pro zhájení práce. Kompletní referenční vzory prováděcích i navrhovacích příkazů jsou uvedeny v příručce, která je přístupná z hlavní stránky "Zápisník" po instalaci prostředí Mini-web.
V této úvodní etapě (srpen 2023) jsou popisována základní pravidla pro ovládání dávkového pracovního prostředí Mini-web a systematické laické navrhování webových stránek.
Všechny soubory stavebnice, příkazové skripty Windows i programy Python jsou 100% transparentní, takže lokálně je lze prohlížet do všech detailů.
Příručka kromě toho obsahuje kompletní převod příkazů i f-značek Mw-jazyka do zdrojového kódu HTML/CSS. Současně popisuje možnosti tvorby a spouštění jak příkazových skriptů Windows, tak programů Python s tím, že postupně budou doplněny i jednoduché vzory.
Po zvládnutí práce se zadáváním úloh a navrhováním stránek je tak možné využít prostředí Mini-web ke studiu a příkladům ve třech směrech: / zdrojový kód jazyka HTML, kaskádových stylů CSS a příp. jazyka JavaScript / úvod do programování příkazových skriptů Windows / úvod do programování v jazyku Python
1 Postup při tvorbě webových stránek pomocí stavebnice (!!!) Mini-web --------------------------------------------------------------------------- 2 Práce se stavebnicí vypadá tak, že si uživatel v souboru Rizeni-prace nejprve sestaví úlohu, tj. zvolí stránku pro 1. vytvoření nebo aktualizaci. Potom opakovaně spouští skript EDA, který nabídne editaci návrhu prvků, které má stránka obsahovat a z návrhu vygeneruje výslednou webovou stránku. Každou změnu, kterou uživatel v návrhu realizuje, tak může následně okamžitě kontrolovat prohlížečem. Popsaná koncepce umožňuje tvořit stránku postupně po malých krocích a tím zásadně celý vývojový proces zjednodušuje. K sestavení úloh a datového obsahu stránek slouží Mw-jazyk, pomocí kterého jsou zapisovány pokyny v souboru Rizeni-prace a v souborech návrhů stránek. Návrh stránky spočívá v kombinaci příkazů pro vkládání typizovaných šablon s příslušnými parametry a řádků přímo vkládaného textu. V řádcích parametrů i přímo vkládaného textu mohou být tzv. formátovací značky. 3 I Sestavení aktuální úlohy Rizeni-prace I Návrh stránky *.txt O Výsledná webová stránka *.htm I = vstup, manuálně vytvořený uživatelem, O = automaticky vytvořený výstup
4 (!!!) Základní podmínkou pro úspěšné zahájení práce se stavebnicí Mini-web je přiměřená zručnost při ovládání oken a příkazových tlačítek. Není to žádná věda, ale při navrhování stránek běžně nastává situace, kdy jsou na ploše současně otevřena minimálně 3 okna a někdy i více. Uživatel se v nich stále musí spolehlivě orientovat a umět je ovládat. V kapitole "Návody a komentáře" jsou proto sepsány (!!!) Potřebné dovednosti pro ovládání oken Windows.
1 Pracovní prostředí stavebnice Mini-web ----------------------------------------------------------------------------- 2 K práci se stavebnicí si pomocí zástupce na ploše otevřeme okno pracovní složky, kde v souboru "Rizeni-prace" budeme sestavovat aktuální úlohy, které pak budeme opakovaně spouštět ovládacím skriptem EDA. Pomocí zástupce v pracovní složce si vedle otevřeme okno prohlížeče s hlavní stránkou "Zapisnik" s odkazy, užitečnými při ladění i prohlížení výsledků. 3 Plocha ----------------------------------------------------------------------------- zástupce pro přístup do pracovní složky Mini-web.lnk Okno hlavní stránky Zápisník ----------------------------------------------------------------------------- Mini-web: automatický rozcestník - výsledné stránky *.htm automatický rozcestník - návrhy stránek *.txt protokol z aktuálního spuštění skriptu EDA Protokol.txt aktuální stav nastavení úloh Řízení-práce.txt referenční přehled možností stavebnice a Mw-jazyka Příručka Okno pracovní složky Mini-web ----------------------------------------------------------------------------- knihovna výsledných webových stránek složka "htm" hlavní stránka Mini-web Zapisnik.htm vyhrazená složka dodaného pg-vybavení složka "prog" vyhrazená složka dodaných šablon složka "sablony" vyhrazená složka referenční dokumentace složka "prirucka" knihovna návrhů stránek složka "txt" návrh hlavní stránky v Mw-jazyku Zapisnik.txt hlavní ovládací skript EDA.cmd soubor pro sestavování úloh Rizeni-prace.txt příkaz k aktualizaci v Mw-jazyku /,Zapisnik zástupce pro zobrazení hlavní stránky Zapisnik.lnk
1 Sestavení aktuální úlohy ---------------------------------------------------------------------------- 2 K usnadnění prvních kroků je po instalaci stavebnice k dispozici vzor sestavení úlohy pro aktualizaci hlavní stránky "Zapisnik". 3 Prováděcí příkazy Mw-jazyka ---------------------------------------------------------------------------- Mini-web (Rizeni-prace.txt) =sablony /,Zapisnik ... další zapnuté příkazy ... /* komentář ... ... další vypnuté příkazy ... /* komentář ... call prog.gen 4 Zásadní pravidla: ----------------- - každý příkaz musí být na samostatném řádku - příkaz je platný = "zapnutý" tehdy, když začíná od 1. sloupce, - pokud je odsunutý (pro přehlednost jednotně o 3 mezery), je neplatný = "vypnutý", tj. bere se pouze jako komentář Komentář k prováděcím příkazům: ------------------------------- Mini-web ... atd trvale povinný 1. dokumentační řádek souboru =sablony příkaz "=" ve formátu "=slozka-sablon" přiřazuje jméno složky, která obsahuje knihovnu šablon, jméno složky je definováno dodavatelem, řádek s příkazem "=" musí být před řádky s pokyny pro návrhy stránek, /,Zapisnik příkaz "/," ve formátu "/,stranka" dává pokyn k vytvoření/aktualizaci návrhu stránky (zde "Zapisnik") a přípravě generování, jméno stránky si navrhuje uživatel jako krátké a výstižné označení jejího obsahu - jméno musí být malými písmeny bez diakritiky a může kromě písmen obsahovat i číslice a pomlčky ("Zapisnik" pro hlavní stránku tvoří výjimku), v souboru "Rizeni-prace" je výhodné mít definovány všechny návrhy stránek a jejich aktualizaci "zapínat/vypínat" dle potřeby, v rámci jedné úlohy jich může být zpracováno i několik najednou, řádky s příkazy "/," musí být zapsány před příkazem ke generování, call prog,gen příkaz k realizaci generování výsledných stránek podle před ním nastavených ("zapnutých") příkazů "/," - zde pouze Zapisník
vzor pro návrh studijní stránky:
>An Studijní stránka - autor/ka =========================== ... data ... >Z-txl XY =zpřístupnění studijní stránky na stránce Zápisník:
>blok-dx Studijní stránka |: studium-xy.htm :|: XY :| ============================================ >blok-s Návrh studijní stránky v Mw-jazyku >okno-90-50 ../txt/studium-xy.txt >-- >Dx
1) Zvolíme vlastní autorskou zkratku (např. XY), která bude "podepisovat" vytvářené stránky v tiráži.
2) V souboru "Řízení práce" zapneme aktualizaci stránky "Zápisník", na další řádek zadáme aktualizaci studijní stránky se jménem /,studium-xy a spustíme skript EDA.
3a) EDA nejprve nabídne editaci návrhu stránky "Zápisník", kde nahradíme řádek "... data ..." odkazem dle vzoru pro zpřístupnění studijní stránky.
3b) Dále učiní dotaz "vytvořit novou stránku?", odpovíme "Ano" a překopírujeme do ní vzor pro návrh studijní stránky.
4) Otevřeme/obnovíme stránku "Zápisník" a zkontrolujeme, zda na ní je fungující odkaz, zda existuje nová studijní stránka a zda má potřebné náležitosti, tj. barvu, nadpis a tiráž.
5) Když je výsledek dle 4) OK, v "Řízení práce" vypneme aktualizaci "Zápisník" a pokračujeme dle bodu 7).
6) Jinak zopakujeme body 2) až 4) s důslednou kontrolou, zda byl skutečně dodržen předepsaný postup.
7) Spustíme skript EDA k editaci návrhu studijní stránky, ve kterém přiměřeně upravíme její nadpis pro záhlaví i autorské označení XY pro tiráž a zkontrolujeme výsledek. Když je výsledek OK, máme "připravené hřiště" pro zácvik.
(!!!) Před další prací na studijní stránce je velice užitečné projít si kapitolou "Základní pojmy stavebnice Mini-web" v Příručce. (!!!)
8) Následně budeme postupně v rámci zácviku doplňovat návrh studijní stránky dle vzorů v následujících kapitolách této rubriky. Stránka pak bude sloužit jako vlastní vzory konkretních příkladů.
9) Podobným způsobem, jako studijní stránku, můžeme na stránce Zápisník zpřístupnit jakoukoliv jinou stránku, na jejímž návrhu budeme pracovat. Užitečným cvičením může být i zpřístupnění návrhu pro samotný Zápisník (bez odkazu).
10) Uvedené vzory pro návrh studijní stránky a její zpřístupnění využívají příkazy a vzory, které jsou systematicky popsány v Příručce, přístupné po instalaci stavebnice Mini-web.
stránka s neomezenou výškou bloků a obrázky bez textu:
>An Nadpis-stránky ============== >os adresa-obrázku >os adresa-obrázku ... >Z XY =
varianta s textem nad/pod obrázkem:
>tx textový-parametr >os adresa-obrázku >tx textový parametr
stránka se základní pevnou výškou bloků 460px:
>A Nadpis-stránky ============== >blok Nadpis bloku ============ ... data bloku ... >-- >blok Nadpis bloku ============ ... data bloku ... >-- ... >Z XY =
Obrazový sloupec je vizuálně zajímavý způsob prezentace menšího počtu obrázků s jednoduchým textem.
Vlastností příkazu >os je zobrazení 100% šířky. Celý sloupec obrázků proto sleduje šířku okna stránky/bloku bez ohledu na to, jaká je skutečná velikost obrázků. To umožní automatické zvětšení obrázků menší velikosti (pokud mají přiměřenou kvalitu a tím ostrost).
Plovoucí bloky jsou doporučeným základním formátem pro tvorbu webových stránek pomocí stavebnice Mini-web. Důvodem je nejen využití celé plochy široké obrazovky, ale především možnost prohlížení stránek na mobilních telefonech.
Možnosti práce s bloky jsou uvedeny v Příručce. "Plavání" bloků lze přerušit/zastavit příkazem >D = "dost!".
blok s náhledem obrázku:
>blok Nadpis bloku ============ >os adresa-obrázku ... text, odkazy ... >--varianta s otevřením obrázku
>os-o adresa-obrázkuvarianta s odkazovacím obrázkem
>os-w adresa-obrázku adresa-odkazu
Vzor zobrazí náhled obrázku "na-šířku" s následujícím textem či odkazy do výšky bloku.
Varianty po kliknutí na náhled otevřou novou záložku:
>os-o - se zvětšeným obrázkem,
>os-w - se stránkou dle adresy odkazu
Analogicky to platí pro obrázky "na-výšku"
>ov, >ov-o, >ov-w
Standardně jsou všechny odkazy otevírány v nové záložce. Možnosti otevírání ve stejném okně jsou posány v Příručce.
Vzory lze výhodně použít k prezentaci alba, které je uloženo na portálu "Rajče". Dále jsou uvedeny příklady a na závěr též návrh celé této kapitoly v Mw-jazyku.
Příklady obsahují různé varianty práce s obrázkem, ale i různé možnosti odkazu - na galerii jako celek, na start od určitého obrázku anebo přímo na konkretní obrázek.
vložená aplikace:
>blok Nadpis bloku ============ >o-zonerama identifikátor adresa-alba === /a_autorske-označení_a/ >--
Návod na vložení aplikace s komentářem.
1) Do návrhu bloku nejprve zkopírujeme adresu-alba jako druhý parametr příkazu (z1_>o-zonerama.
2) Identifikátor, která je v adrese přítomen jako číslo "..Album/identifikátor.." pak znovu vložíme jako první parametr - viz návrh příkladu dále.
Šířka náhledu sleduje šířku bloku. Po kliknutí na náhled se album zobrazí v nové záložce.
Album Zonerama neumožňuje "zvenku" odkazovat jednotlivé obrázky.
>blok Londýn 2023/05 s Vladimírem =========================== >o-zonerama 9858389 https://eu.zonerama.com/vladimir314/Album/9858389#prevent_scroll_placeholder === /a_foto Vladimír Vérosta_a/ >--
vložená aplikace:
>blok-x >okno-youtube zkopírovaný a upravený kód z YouTube === ... komentářový text ... >--
obrázek s odkazem:
>blok-x >os-w adresa-obrázku adresa-odkazu === ... komentářový text ... >--
Návod na vložení aplikace:
1) V okně videa zastavit přehrávání, po kliku PT zkopírovat Kod pro vložení na stránky a vložit ho jako parametr příkazu >okno-youtube do návrhu bloku.
2) V návrhu pak změnit šířku na width="100%" a výšku upravit podle použitého bloku. V případě >blok bude height="300", pro >blok-s pak height= "600".
3) Pokud se po krocích 1) a 2) na stránce objeví černá obrazovka s nápisem "Video není k dispozici", jeho vlastník nepovoluje vnořené okno bez reklam.
4) V takovém případě je třeba najít/pořídit vhodný obrázek pro náhled a pro vložení do návrhu použít základní řešení dle vzoru pro obrázek s normálním odkazem na video.
5) Je též možné video odkazovat pouze některou variantou odkazu s textem.
6) V dále uvedených příkladech je použit blok-x bez nadpisu. Vložená aplikace nadpis uvádí na obrázku anebo může být pod obrázkem. Samozřejmě je také možné použít blok s nadpisem.
7) Pro získání startovacího kódu playlistu je třeba otevřít stránku YouTube, ve které jsou "Vytvořené playlisty" a kliknout na příslušný odkaz "Zobrazit celý playlist". Kroky 1) a 2) se pak vztahují na YouTube okénko playlistu jako celku.
V závěru je pak k prohlédnutí návrh celé této kapitoly vč. příkladů v Mw-jazyku.
>blok Nadpis bloku ============ >okno-mapycz zkopírovaný a upravený kód z Mapy.cz === komentář nebo další prvky dle potřeby >--
Návod na vložení aplikace s komentářem:
1) Na mapové stránce zvolit:"
- Nástroje > Sdílet,
- Vložit mapu do vlastních stránek,
- Velikost mapy = Malá, Náhledová mapa = Žádná,
- nabídnutý kód je parametrem příkazu >okno-mapycz.
2) V návrhu pak šířku změnit na width="100%" a výšku upravit podle použitého bloku. V případě >blok bude height="300", pro >blok-s pak height= "600".
Mapa může obsahovat trasu, body nebo další informace, které aplikace Mapy.cz nabízí ke sdílení.
Po kliknutí na tlačítko "Zobrazit .." nebo na "Mapy.cz" vpravo dole se mapa zobrazí v nové záložce.
>blok Modřice ======= >okno-mapycz <iframe style="border:none" src="https://frame.mapy.cz/s/fupefeteku" width="100%" height="300" frameborder="0"> >--
Vymezení vertikálních odstavců, textových úseků a některé další časté formátovací značky (f-značky). Jejich úplný seznam je v lokální Příručce, přísrtupné přes Zápisník:
/z_oboustranně zarovnaný odstavec_/ *) /o_shodně jako "z", s odsazením 1. řádku_/ /_normální odstavec zleva bez zarovnání_/ *) /p_odstavec vysázený "na prapor" zprava_/ /a_autorské označení, malým písmem zprava_a/ (t_text sázený tučně_t) (k_text sázený kurzívou_k) (mk_text sázený malou kurzívou_mk) // = odřádkování *) (_) = pevná mezera, (__) = s čárkou před ní *) /z_, _/ a // nelze použít s odkazy "http" nebo "file" na stejném řádku (!)
Základní příkaz pro odkaz:
>w -,text-odkazu,(_) adresa-odkazuOdkaz pomocí f-značek:
=== |: adresa-odkazu :|: text-odkazu :| |: adresa-odkazu .|: text-odkazu :|
- varianta .|: se otevře ve stejném okně - samostatné odkazy je možno zadat ve variantách: / příkazem >w pro dlouhé adresy odkazu, / f-značkami |:---:| pro krátké, před kterými musí být řádkem "=" nebo mezerovým ukončen předchozí příkaz - namísto (_) může být komentář nebo (__)
Vymezení komentářů je velice užitečné, protože při ladění umožňuje potlačit zpracování určité části nebo varianty návrhu stránky:
/* ... skupina řádků, chápaná jako komentář, která se ignoruje */ *cokoliv >> řádek se chápe jako komentář, výjimku tvoří řádky, začínající *= nebo *=., které znamenaji podtržení tenkou/silnou linkou, konkretní ukázky jsou v návrzích příkladůokamžité ukončení čtení souboru s návrhem:
/**
Úplný seznam f-značek, příklady podtržení a další pokyny jsou popsány v Příručce a různá řešení je možné studovat na příkladech.
>blok Nadpis bloku ============ > pevný text včetně všech mezer a volných řádků < >--
- pokud není uvedeno jinak, běžný text je vždy zobrazován jako plovoucí, tj. přebytečné mezery i prázdné řádky se ignorují - pomocí příkazů >---<, >1---<, >:---< je však možno vymezit řádky, na kterých zůstanou všechny mezery i volné řádky zachovány - úvodní ">1" zajistí bílé pozadí a ">:" umožní použití přiměřených f-značek - příkladem jsou všechny bloky s bílým pozadím
Užitečná pro zobrazení vyhrazených značek:
= e * = e42; : = e58; = = e61; / = e47; > = e62; < = e60;
Počítač, jako stroj na zpracování dat, ke svému fungování potřebuje: technické vybavení (hardware) vstup - paměť - procesor - výstup - napájení programové vybavení (software) je souhrn pokynů, které obsahují: "proměnné" = pojmenované části paměti pro ukládání dat "příkazy" = pojmenované pokyny, které s proměnnými pracují "zdrojový kód" = souhrn pokynů v některém programovacím jazyku Programovací jazyky: - programování se od poloviny 20. stol. vyvíjelo velice rychle - přitom byla vytvořena více než stovka programovacích jazyků - většinou mají vlastní terminologii i pravidla zápisu programu Nejznámnější aktuální přehled světové popularity programovacích jazyků nabízi www.tiobe.com/tiobe-index. V jeho statistice nejsou z formálních důvodů zahrnuty jazyky HTML/CSS, které jsou jako jazyky všech webových stránek sice nejpoužívanější, ale obecně nepopopisují algoritmy jako takové. Jazyk Python: - jako "proměnné" rozlišuje řadu datových typů, kolektory a jiné - pro pokyny k práci s "proměnnými" nepoužívá jen příkazy, ale i funkce, metody a další, s vazbou na řadu různých knihoven - pro zachování snadné srozumitelnosti budeme v našem výkladu používat zobecněný jednotný termín "příkaz" a zájemci o podrobnosti si je mohou najít v odborné dokumentaci
Zapojení Python IDLE do prostředí Mini-web vyžaduje následující postup:
1. V Pracovní složce Mini-web vytvoříme uživatelskou složku "pg-me". Ve vyhrazené složce "prog" otevřeme soubor "idle-pyw.txt". 2. Ve Windows otevřeme nabídku "Hledat" (ikona "lupa"), zadáme "IDLE" a NESTISKNEME Enter, ale vpravo klikneme na "Otevřít umístění souboru". 3. V novém okně v řádku "IDLE.." PT vybereme "Vlastnosti" a z okénka zkopírujeme obsah kolonky "Cíl" za původní text souboru dle 1. 4. Zkontrolujeme, zda se zkopírovaná adresa v uvozovkách shoduje s adresou na 1. řádku. Když je jiná, nahradíme s ní adresu ".. *.pyw" na 1. řádku (parametr %1 ponecháme). V obou případech pak zkopírované řádky smažeme. 5. Upravený soubor "prog/idle-pyw.txt" uložíme jako "prog/idle-pyw.cmd". Správné fungování ověříme příkazem "pg-me/pg1.py" v "Řízení-práce" a spuštěním EDA, který nabídne editaci nového programu "pg1.py" v IDLE.
Po otevření okna IDLE můžeme černou obrazovku zavřít a dále pracovat samostatně. Také si můžeme IDLE příště spustit přímo ve složce "prog-me" (PT > Edit with IDLE).
Ve stavebnici Mw ale můžeme programy dokumentovat jako "projekt" a také využívat jejích nástrojů třeba pro převod výstupů do webových stránek.
- do okna IDLE zkopírujeme zdrojový kód pg1.py z následujícího vzoru - kombinací Ctrl+S kód uložíme a stiskem klávesy F5 program spustíme - objeví se nám nové okno, ve kterém můžeme s programem komunikovat
- práce, kterou vzorový program realizuje by měla být zřejmá, rovněž programátorské názvy proměnných by měly být jasné, stejně tak jako intuitivní povinné (!) odsazování zápisu kódu - při základní znalosti angličtiny měly by být srozumitelné i příkazy, složené z vyhrazených slov: print, while, input, if, append, else, for, in, import, sort - přiřazovací příkaz "=" přiřadí ke jménu proměnné uvedenou hodnotu Txt = "vstup", Txt = input("vstup"), Sez = [] nebo definuje datový typ, tj, "proměnná je seznam" - operátor "!=" znamená "nerovná se", "rovná se" by bylo "==" - realizace českého třídění sestává ze 3 částí: přiřazení knihovny (import), nastavení jazyka (setlocale "czech") a setřídění seznamu (Sez.sort) - program také názorně ukazuje všechny 3 základní algoritmy, kterými je možno popsat jakýkoliv problém: 1) posloupnost (vše musí jít postupně a mít začátek i konec) 2) větvení (při splnění určitých podmínek se zpracování rozdělí) "if ...:", "else:" nebo "if ...:", "elif ...:, ..., "else:" 3) opakování (určitá část kódu se shodně vícekrát opakuje) "while podmínka:" - (pokud platí podmínka) "for podmínka:" český překlad populární učebnice: howto.py.cz oficiální anglická dokumentace: docs.python.org/3/ spustitelný program pro Windows zipapp (vyžaduje kompilátor C)
# ------------------ úvodní ohlášení programu print("pg1 - Řádky textu z klávesnice do paměti a výpis:") print("ukončení = stisk pouze Enter") print() # ------------------ definování proměnných pro vstup a seznam Txt = "vstup" Sez = [] # ------------------ vstup řádků textu do seznamu v paměti while Txt != "": Txt = input("vstup: ") if Txt != "": Sez.append(Txt) else: print() # ------------------ výpis hodnoty proměnné "seznam" print(Sez) print() # ------------------ výpis řádků ze seznamu for Pol in Sez: print(Pol) print() # ------------------ funkce pro české ABC třídění seznamu import locale locale.setlocale(locale.LC_ALL,'czech') Sez.sort(key=locale.strxfrm) # ------------------ výpis setříděných řádků ze seznamu for Pol in Sez: print(Pol) print() # ------------------ zpráva o ukončení programu print("končím, ahoj - pg1 :o)")
Toto by postupně měl být víceúčelový podklad a to nejen pro studium základů programování v Pythonu, ale i jako přehled programových konstrukcí, které použijeme v připravovaném projektu "Archiv Modřického sboru a koncertů na radnici".
Představuji si, že by se nám mohlo podařit zmíněný projekt vytvořit tak, aby byl k dispozici i jako 100% transparentní a řádně zdokumentovaná metodická pomůcka.
Mohlo by to být obecněji užitečné i proto, že od příštího týdne začíná na místní ZŠ fungovat "kroužek programování", kde se budou vyučovat základy programování v Pythonu.
S vedoucím kroužku Tomášem Stejskalem diskutujeme o možnostech spolupráce.
Vzory sice tvořím na základě vlastních zkušeností a představ, ale bez konzultací a rad, které mi poskytují Vladimír Vérosta (VV) a Mirek Sycha (MS), bych to dohromady nedal.
Vlastimil Čevela (ČeV) 9:40 27.10.2023
import os, sys from pathlib import Pathcesta do aktuální složky a její obsah,
cesta = os.getcwd() obsah = os.listdir() obsah_nadrizene = os.listdir("..") obsah_podrizene = os.listdir("ahoj")vytvoření nové složky a přechody do ní a do nadřízené
os.mkdir("./ahoj") os.chdir("ahoj") os.chdir("..")cesta do aktuální a nadřízených složek
akt = Path(os.getcwd()) nad = akt.parent vys = nad.parent dal = vys.parent print(1, akt) print(2, nad) print(3, vys) print(4, dal)
(VV)
import os, sys import shutilkopírování souboru do složky
shutil.copy("soubor.pri", "slozka")kopírování souboru "append"
f1 = open("soubor1.txt", 'r', encoding="utf-8") f2 = open('soubor2.txt', "a", encoding="utf-8") shutil.copyfileobj(f1, f2) f1.close() f2.close()kopírování složky_1 do složky_2
shutil.copytree("slozka_1", "slozka_2")test na existenci souboru nebo složky,
objekt = "ahoj/pom.py" test = os.path.exists(objekt) #True, False print("výsledek testu '"+objekt+"' je %s" % test)
výsledek testu 'ahoj/pom.py' je True
(VV)
import time lokal = time.localtime() X = lokal[6] print(X)pondělí = 0
python pom.py ahoj franto pauseprogram pom.py:
import sys A = sys.argv print(A)
['pom.py', 'ahoj', 'franto']
A = " nějaký text " print(A, "délka:", len(A)) B = A.rstrip() print(B, "délka:", len(B)) C = A.lstrip() print(C, "délka:", len(C)) D = A.strip() print(D, "délka:", len(D))
....*....1....*....2
nějaký text délka: 19
nějaký text délka: 14
nějaký text délka: 16
nějaký text délka: 11
rstrip() odstraní mezery zprava (right)
lstrip() zleva (left)
strip() z obou stran (česky "odřezek")
(VV)
with open('a.txt', "r", encoding='utf-8') as Inp: Obsah = Inp.read() with open('b.txt', "w", encoding='utf-8') as Out: Out.write(Obsah)
příkaz with ... zajistí uzavření souboru automaticky po skončení práce za ":" >-- >blok Různé manipulace s texty ========================- odstranění odřádkování "\n" - odstranění ??? koncových mezer ??? jen "rozptýlí" dle oddělovače "mezera" - Pom = hodnota bez mezer - parametry oddělené čárkami Par[0] Par[1] Par[2] .. atd ("rozptýlení" řetězce na části)Rad = Radek.strip("\n") Tmp = Rad.split(" ") /* ??? Pom = Tmp[0] Par = Rad.split(",")
def POM(Text): Text = Text + ", dobrý den" return Text Txt = "ahoj" POM(Txt) print(POM(Txt))
ahoj, dobrý den
def POM(): return "dobrý den" print(POM())
dobrý den
Cis = 0 # celočíselná s hodnotou 0 Txt = "" # textová (prázdný řetězec) Sez = [] # prázdný seznam
S odsazením mezerou a bez odsazení:
print(Cis, Txt, Sez) print(Cis+Txt+Sez)
Vkládání ukončí stisk "pouze Enter".
Txt = "vstup" Sez = [] while Txt != "": Txt = input("vstup: ") if Txt != "": Sez.append(Txt) else: print()
Výpis hodnoty proměnné "seznam" vcelku (s volným řádkem za) a výpis po řádcích.
print(Sez) print() for Pol in Sez: print(Pol)
Tmp = "prac.txt" Sez = ["ahoj", "Franto", "Pepo", "a vůbec"] Out = open(Tmp, "w", encoding="utf-8") for Pol in Sez: Out.write(Pol+"\n") Out.close()
Cis = 1250 Txt = "ahoj" Haf = [10, 20, 30, 40] print(Cis, Txt, Haf) print((str(Cis)+Txt))
1250 ahoj [10, 20, 30, 40]
1250ahoj
Vstup = "sboriste.txt" Sez = [] Inp = open(Vstup, "r", encoding="utf-8") for Radek in Inp.readlines(): Rad = Radek.strip("\n") Sez.append(Rad) Inp.close()
Menu = "menu.txt" Tmp = "menu_tmp.txt" Inp = open(Menu, "r", encoding="utf-8") Out = open(Tmp, "w", encoding="utf-8") for Radek in Inp.readlines(): Out.write(Radek) Inp.close() Out.close()
import subprocess as sp Edit = "Notepad.exe" Adr = "menu.txt" p1 = sp.Popen([Edit, Adr]) p1.wait()
import subprocess as sp p1 = sp.Popen("doku.cmd") p1.wait()
import subprocess as sp Idle = "idle-pyw.cmd" Prog = "glob.py" p1 = sp.Popen([Idle, Prog]) p1.wait()
Příkazový skript "idle-pyw.cmd":
C:\..Python..\Lib\idlelib\IDLE.pyw %1
def DateTime(): import datetime x = datetime.datetime.now() Rok = x.strftime("%Y") Mesic = x.strftime("%m") Den = x.strftime("%d") Hodina = x.strftime("%H") Minuta = x.strftime("%M") Dat = Rok+Mesic+Den Cas = Hodina+Minuta DatCas = Dat+"-"+Cas return DatCas print(DateTime())
import locale locale.setlocale(locale.LC_ALL,'czech') Sez.sort(key=locale.strxfrm)
Stránka se vždy otevírá v nové záložce, požadavků na otevření může být více - pak se naskládají na horní lištu, shodně lze otevírat i obrázky .JPG, případně jednoduché text .TXT, ale ty se otevřou v Notepadu.
Otevírá se prohlížeč, který je na počítači nastavený.
import webbrowser webbrowser.open('adresa-souboru.htm') ...
(MS)
děkuji za trpělivost - 8:00 17.09.2023,
ČeV
Autorem koncepce i programového vybavení stavebnice Mini-web je Vlastimil Čevela, externí redaktor portálu "prog-story" na webu TM v Brně.
Aplikace Mini-web je poskytována prostřednictvím portálu "Historie programování a VT u nás" Technického muzea v Brně na adrese prog-story.technicalmuseum.cz.
Morální a odbornou konzultační podporu poskytli Jaroslav Pipota jako garant virtuální expozice ze strany TM v Brně i dávní kolegové z programátorské branže Branislav Lacko, Vladimír Vérosta a nově Miroslav Sycha.
Laické ověřování stavebnice i řadu vzorových příkladů realizovala Gabriela Čevelová a spolupracovala Karolína Okounová.
V současnosti (srpen 2023) hledáme vhodné řešení, jak v rámci pilotního projektu s metodickou a konzultační podporou nabídnout využití stavebnice Mini-web pro tvorbu a publikování vlastních příspěvků zájemcům z řad žáků a pedagogů ZŠ Modřice, příp. dalším.
Stavebnice Mini-web by nemohla vzniknout bez dále uvedených úspěšně realizovaných projektů, při kterých autor díky zpětné vazbě od mnoha desítek kolegů a uživatelů postupně získával zkušenosti kolem analýzy a programování i systémového přístupu.
Naprosto zásadní podmínkou pak byla vzácná trpělivost manželky autora, která už více než 63 let toleruje jeho takovéto i podobné nestandardní nápady a poskytuje mu dokonalé rodinné zázemí.
Skripty, programy a vzory aplikace "Mini-web" jsou poskytovány ve svobodné BSD licenci © Vlastimil Čevela 2022 kontakt: cevelavl(z)volny.cz
děkuji za trpělivost - 8:14 17.09.2023
ČeV
1) Po každém spuštění skriptu EDA je třeba zkontrolovat výslednou stránku. a) v tiráži má být právě aktuální datum a čas b) na stránce mají být promítnuty změny dle návrhu c) chyba může být i v nesprávném zadání příkazu v "Řízení práce" 2) Když 1a) není OK, nutno prohlédnout Protokol, kde bude pravděpodobně hlášena "!!!" chyba a při novém spuštění ji opravit. Když nebyla hlášena chyba, nejspíš nebyl pevný text ukončen "<". Když 1b) není OK, spuštění opakovat a hledat chybu v posledení editaci 3) Nejčastější formální chyby: - překlep v názvu příkazu nebo komentář bez předchozí mezery - počet parametrů příkazu neodpovídá vzoru - příkaz s parametry není správně ukončen / podtržením "=", "===" nebo "=atd" / novým příkazem ">prikaz" (speciální příkazy >, >:, >1, >&atd předchozí příkaz NEUKONČÍ) / mezerovým nebo prázdným řádkem - není správně ukončena stránka některou variantou příkazu >Z.. - není správně ukončen blok (>--, >-x) anebo plavání bloků (>D..) - nejsou správně ukončeny řádky pevného textu, tj. >---<, >:---<, >1---< - není správně ukončena párová formátovací značka, tj. odstavec /..---../ nebo úsek textu (..---..) 4) Další kategorií jsou chyby věcné, tj. nesprávné adresy odkazů a pod. Ty je třeba řešit důkladnou kontrolou všech náležitostí. Pro obsáhlejší stránky, skládané z více modulů je k dispozici tradiční programátorský nástroj - trasování. Zapíná se pro určitou stránku za podtržením příkazu A.. v záhlaví. <! trasa /1/ > = výpis všech běžných příkazů do protokolu <! trasa/1/ > = vypnuto analogicky "trasa /5/" vypisuje všechna vkládání modulů 5) Hlavní věcí je prevence, tj. především v úplných začátcích postupovat v návrhu stránky po skutečně minimálních krocích, ve kterých lze snadno zkontrolovat, co se v návrhu změnilo a tedy kde asi je chyba. Když se ani opakovaně nepodaří chybu najít, je možno využít bezplatnou konzultační službu, tj. poslat na Kontakt mail s dotazem a přílohou *.txt, která obsahuje návrh příslušné problematické stránky, spolu s odpovídajícím souborem "Protokol.txt" z posledního neúspěšného spuštění.