MEAN Stack - silnik szablonów Pug/Jade
|
|
- Izabela Urbańska
- 6 lat temu
- Przeglądów:
Transkrypt
1 EAN Stack - silnik szablonów Pug/Jade 1/40 MEAN Stack - silnik szablonów Pug/Jade Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i Stosowanej 6 marca 2018
2 MEAN Stack - silnik szablonów Pug/Jade 2/40 Plan prezentacji 1 express-generator 2 Silniki szablonów EJS Handlebars Hogan.js 3 Pug/Jade 4 Źródła
3 express-generator narzędzie generujące szkielet aplikacji do frameworka express. instalacja: npm install express-generator -g Użycie: express [opcje] [katalog] Opcje: --version -e, --ejs --pug --hbs -H, --hogan -v, --view <engine> -c, --css <engine> --git -f, --force -h, --help wyświetla numer wersji narzędzia wsparcie dla silnika szablonów ejs wsparcie dla silnika szablonów pug wsparcie dla silnika szablonow handlebars wsparcie dla silnika szablonow hogan.js wsparcie dla silnika szablonów <engine>, dostępne są (dust ejs hbs hjs jade pug twig vash), domyślnie ciągle jest jade wsparcie dla silnika stylów <engine>, dostępne są (less stylus compass sass) - prekompilatory css, domyślnie wygląd określamy w zwykłych plikach css tworzy plik.gitignore z potrzebnymi wpisami wymuszenie utworzenie projektu w niepustym katalogu output usage information Domyślny silnik szablonów to jade ale niedługo się to zmieni. MEAN Stack - silnik szablonów Pug/Jade 3/40
4 MEAN Stack - silnik szablonów Pug/Jade 4/40 express-generator Tworzenie struktury aplikacji: express -v pug w03 Następnie: instalacja zależności: cd w03 && npm install uruchimienie aplikacji: DEBUG=w03:* npm start sprawdzamy wersję silnika pug: npm list pug pug@2.0.0-beta11 Jade jest w wersji
5 MEAN Stack - silnik szablonów Pug/Jade 5/40 Zmienne globalne dla całej aplikacji Zmienne zawierające katalog i nazwę silinka szablonów wykorzystywanego w aplikacji: view - nazwa katalogu (String) albo tablicy katalogów (Array) gdzie mieszczą się szablony widoków. W przypadku tablicy katalogi są przeglądanie w kolejności występowania w tablicy. Domyślna wartość to: process.cwd() + /views view engine - nazwa określa domyślny silnik, który będzie użyty jeśli nie określono jawnie później. // ustawienie silnika dla widoków app.set('views', path.join( dirname, 'views')); app.set('view engine', 'pug'); app.enable('view cache'); // app.disable('view cache'); // app.set('view cache', true);
6 MEAN Stack - silnik szablonów Pug/Jade 6/40 Silniki szablonów - EJS EJS - <% Effective JavaScript %> Wybrane cechy: wyrażenia umieszczanie w znacznikach <% %> wstawianie zmiennych do szablonu: modyfikacja znaczników HTML: <%= %> brak modyfikacji znaczników, wyjście nieprzetworzone: <%- %> posiada tryb usuwania znaków nowej linii, kończy się znacznikiem -%> posiada tryb usuwania białych znaków, ograniczniki: <% %> dwolne ograniczniki, np. użycie <??> zamiast <% %> wspiera dziedziczenie szablonów, wsparcie szablonów po stronie serwera i klienta (przeglądarka), statyczne buforowanie pośredniego JavaScriptu, statyczne buforowanie szablonów, kompiluje się z systemem widoków Expressa.
7 MEAN Stack - silnik szablonów Pug/Jade 7/40 EJS - przykład Przykładowy szablon z instrukcją warunkową: <% if (user) { %> <h2><%= user.name %></h2> <% } %> Przykładowy szablon z pętlą foreach: <ul> <% users.foreach(function(user){ %> <%- include('user/show', {user: user}); %> <% }); %> </ul>
8 Silniki szablonów - Handlebars Handlebars - Cechy: w dużej mierze kompatybilny z Mustache ( zawiera dodatkową funkcjonalność wyrażenia umieszczamy w parze znaków {{... }} komentarze w szablonie: {{!-- --}} albo {{! }} kompilacja szablonu w przeglądarce albo wcześniejsza prekompilacja (szybsze działanie strony) zawiera przekształcanie znaczników HTML (dla bezpieczeństwa, {{napis}}), można je wyłączyć korzystając z zapisu {{{napis}}}, przy użyciu bloku rozszerzeń można dodać obsługę pętli, instrukcji warunkowych,... w szablonach można używać ścieżek - dostęp do zagnieżdżonych pól obiektu, pozwala na używanie literałów, pozwala na tworzenie szablonów cześciowych wielokrotnego użytku, zintegrowany z Express. MEAN Stack - silnik szablonów Pug/Jade 8/40
9 EAN Stack - silnik szablonów Pug/Jade 9/40 Handlebars - przykład Dane: var context = { title: "My First Blog Post!", author: { id: 47, name: "Yehuda Katz" }, body: "My first post. Wheeeee!" }; Szablon: <div class="entry"> <h1>{{title}}</h1> <h2>by {{author.name}}</h2> <div class="body"> {{body}} </div> </div>
10 MEAN Stack - silnik szablonów Pug/Jade 10/40 Silniki szablonów - Hogan.js Wybrane cechy: kompilator dla silnika szablonów Mustache ( pozwala na tworzenie układów (layout) często występujących na stronie - coś jak szablon rodzica, wspiera podział szablonów na cześci (działa podobnie do include), wspiera buforowanie - aplikacja działa szybciej unikając niepotrzebnego renderowania, inaczej niż Handlebars, Hogan.js nie zawiera dodatkowych funkcjonalności, np. pętli czy instrukcji warunkowych, pozwala na tworzenie własnych filtrów, zintegrowany z Express.
11 MEAN Stack - silnik szablonów Pug/Jade 11/40 Hogan.js - przykład Przykładowy szablon: <div class="timeline"> <!-- load more button --> <button>{{message}}</button> <!-- tweet object --> {{#tweets}} {{> tweet}} {{/tweets}} </div>
12 MEAN Stack - silnik szablonów Pug/Jade 12/40 Silniki szablonów - Pug (Jade) Pug, wcześniej Jade (zastrzeżony znak towarowy) Dokumentacja do Jade - Cechy Pug/Jade: słowo Pug to mops :) silnik szablonów wysokiej wydajności, zaimplementowany w JavaScript dla Node.js i dla przeglądarek, pełna integracja z Express.js jako jeden z wspieranych silników szablonów, zespół pracował nad niekompatybilną wersją Jade kiedy zmieniono nazwę na Pug, instalacja Pug oznacza używanie nowej wersji (ciągle jeszcze beta), nazwa jade jest ciągle wspierana w repozytoriach npm.
13 MEAN Stack - silnik szablonów Pug/Jade 13/40 Silniki szablonów - Pug/Jade Możliwości szablonów Jade/Pug: są wrażliwe na liczbę spacji określających wcięcia dla zagnieżdżonych znaczników, trzeba mieć edytor pokazujący znaki niedrukowane, pozwalają na różne rodzaje dołączania treści ze zmiennych czy obiektów do szablonu, zawierają: instrukcje warunkowe, instrukcję case, obsługę pętli (each, while), do szablonów można dołączać kod JavaScript, posiadają komentarze jednoliniowe i blokowe, przenoszące się lub nie do wynikowego kodu HTML, można dołączyć jeden szablon wewnątrz innego - include, wsparcie dla dziedziczenia poprzez bloki (block) albo zwyczajne dziedziczenie (extends), można tworzyć bloki z określoną nazwą i wielokrotnie ich używać.
14 MEAN Stack - silnik szablonów Pug/Jade 14/40 Pug - kompilacja i renderowanie Pug pozwala na dwie najważniejsze operacje: kompilacja - kompiluje kod szablonu Pug do funkcji JavaScript, która przyjmuje obiekt jako dane podstawiane do szablonu, wykorzystanie skompilowanej funkcji generuje kod HTML (renderowanie) z wartościami danych przekazanych w obiekcie, renderowanie - wykonuje kompilację i renderowanie w jako jeden proces - wpływa negatywnie na wydajność chyba, że jest włączona opcja cache. //- template.pug p Właściwielem jest #{imie}! // index.js const pug = require('pug'); router.get('/', function(req, res, next) { const compiledfun = pug.compilefile('views/template.pug'); res.send(compiledfun({imie: 'Wojciech'})); }); // <p>właściwielem jest Wojciech!</p> router.get('/', function(req, res, next) { res.render('template', { imie: 'Karol' }); }); // <p>właściwielem jest Karol!</p>
15 MEAN Stack - silnik szablonów Pug/Jade 15/40 Pug - kompilacja i renderowanie index.pug block content h1= tytul p Witaj w #{tytul} pugtest.js var express = require('express'); var pug = require('pug'); var router = express.router(); const funkcjadorenderowania = pug.compilefile('views/index.pug'); const funkcjadorenderowania2 = pug.compile('p Witaj w #{tytul}'); console.log( funkcjadorenderowania2({ tytul: 'Inny przykład' }) ); router.get('/just-render', function(req, res, next) { res.send(funkcjadorenderowania({tytul: 'Moja aplikacja-tylko renderowanie'})); }); router.get('/compile-render', function(req, res, next) { res.render('index', {tytul: 'Moja aplikacja-kompilacja i renderowanie'}); }); module.exports = router;
16 MEAN Stack - silnik szablonów Pug/Jade 16/40 Znaczniki Domyślnie tekst na początku linii, albo występujący tylko po białych znakach, tworzy znacznik Znaczniki samozamykające się są znane Można dodać dowolny znacznik XML Białe znaki są usuwane z początku i końca znaczników - mamy kontrolę nad tym, czy się stykają czy nie p div img h1 input p hr book br foo/ foo(bar='baz')/ <p></p> <div></div> <img/> <h1></h1> <input/> <p></p> <hr/> <book></book> <br/> <foo/> <foo bar="baz"/>
17 MEAN Stack - silnik szablonów Pug/Jade 17/40 Cztery sposoby na wprowadzanie zwykłego tekstu Pug dostarcza cztery sposoby na wprowadzanie zwykłego tekstu, który przechodzi niemal nieprzetwarzany do kodu HTML. Znaki HTML w tekście nie są zastępowane - można ręcznie wprowadzać znaczniki. Jest prowadzona interpolacja zmiennych do tekstu. Cztery sposoby: w linii znacznika bezpośredni kod HTML - pionowy separator dla większych obszarów tekstu. - kropka przy większych blokach tekstu
18 MEAN Stack - silnik szablonów Pug/Jade 18/40 Tekst w linii znacznika i przy separatorze Po nazwie znacznika i pojedynczej spacji umieszczamy tekst będący jego zawartością Większe obszary tekstu umieszczamy w kolejnych liniach po wcięciu i znaku (pionowa kreska) Każda dodatkowa spacja (powyżej pierwszej) po znaku oznacza dodatkową spację w kodzie HTML p Hello, World! p Hello again and again and again and... h2 some text on the same line and on the next line <p>hello, World!</p> <p>hello again and again and again and...</p> <h2>some texton the same line and on the next line</h2>
19 MEAN Stack - silnik szablonów Pug/Jade 19/40 Tekst w większych blokach po. Nadaje się, kiedy potrzebujemy większych bloków tekstu wewnątrz znacznika Przykłady: kod JavaScript albo CSS w znacznikach script i style Dodajemy. po nazwie znacznika albo nawiasie zamykającym jeśli są atrybuty, między znacznikiem a kropką nie ma przerwy Blok tekstu musi z dodatkowym wcięciem p Hello, World! script. if (usingpug) console.log('super!') else console.log('używaj pug') h2 strong Important info.... some text on the same line and on the next line <p>hello, World!</p> <script>if (usingpug) console.log('super!') else console.log('używaj pug')</script> <h2> <strong>important info...</strong>some text on the same line and on the next line</h2>
20 MEAN Stack - silnik szablonów Pug/Jade 20/40 Bezpośredni kod HTML Całe linie są traktowane jako tekst, jeśli zaczynają się od znaku mniejszości < Czasem takie rozwiązanie może być użyteczne <body> <p>hello, World! </p> script. if (usingpug) console.log('super!') else console.log('używaj pug') h2 strong Important info.... some text on the same line and on the next line </body> <body> <p>hello, World!</p> <script>if (usingpug) console.log('super!') else console.log('używaj pug')</script> <h2> <strong>important info...</strong>some text on the same line and on the next line</h2></body>
21 MEAN Stack - silnik szablonów Pug/Jade 21/40 Zagnieżdżanie znaczników Zagnieżdżone znacznki uzyskujemy dodając je od nowej linii po wcięciu div p Cześć Stefan! table tr th imie th nazwisko tr td Jan td Kowalski tr td Zofia td Nowak span h2 Rozdział 2 p Kolejny akapit <div> <p>cześć Stefan!</p> </div> <table> <tr> <th>imie</th> <th>nazwisko</th> </tr> <tr> <td>jan</td> <td>kowalski</td> </tr> <tr> <td>zofia</td> <td>nowak</td> </tr> </table> <span> <h2>rozdział 2</h2> <p>kolejny akapit</p> </span>
22 MEAN Stack - silnik szablonów Pug/Jade 22/40 Rozwinięcie bloku Rozwinięcie bloku pozwala dodać zagnieżdżanie zanczniki wykorzystując tylko jedną linię Zagnieżdżamy dodatkowy znacznki poprzedzając go dwukropkiem : i spacją Można tak zapisać więcej znaczników ale tylko ostatni może mieć zawartość div p Hello div: p Hello div: p: span Hello div: p : span Hello div: p Treść... : span Hello <div> <p>hello</p> </div> <div> <p>hello</p> </div> <div> <p> <span>hello</span> </p> </div> <div> <p>: span Hello</p> </div> <div> <p>treść... : span Hello</p> </div>
23 MEAN Stack - silnik szablonów Pug/Jade 23/40 Komentarze Komentarze tworzymy poprzez podwójny slash czyli // albo //- Możliwe są też warunki w komentarzach Pug nie obsługuje rozpoznawania wnętrzy komentarza (znaczniki i inne komentarze) a Jade tak // pierwszy komentarz na dwie linie bardzo długie linie... //drugi komentarz h1 nagłówek w komentarzu... // komentarz wewnętrzny p paragraf w komentarzu... hr //if lt IE 8 script(src="/ie-sucks.js") p Witaj // komentarz w znaczniku //- komentrzach tylko w szablonie #### Pug <!-- pierwszy komentarzna dwie linie bardzo długie linie...--> <!--drugi komentarzh1 nagłówek w komentarzu... // komentarz wewnętrzny p paragraf w komentarzu...--> <hr/> <!--if lt IE 8script(src="/ie-sucks.js")--> <p>witaj <!-- komentarz w znaczniku--> </p> #### Jade...<!--drugi komentarz <h1>nagłówek w komentarzu...</h1> <!-- komentarz wewnętrzny--> <p>paragraf w komentarzu...</p>--> <hr/><!--[if lt IE 8]> <script src="/ie-sucks.js"></script><![endif]--> <p>witaj <!-- komentarz w znaczniku--> </p>
24 MEAN Stack - silnik szablonów Pug/Jade 24/40 Atrybuty Atrybuty zaczynają się i kończą nawiasem okrągłym Wiele atrybutów opcjonalnie oddzielamy przecinkiem lub znakiem nowej linii Występowanie białych znaków nie ma znaczenia Nazwy atrybutów mogą posiadać dwukropek : Można używać wyrażeń języka JavaScript input(type="text", name="log") input(type="text" name="log") input(type="text", name="log") input(type="text" name="log") element(xmlns:names="engine") - var mobile = false - var name = 'hi' input(type="text" name=mobile?"login":name) <input type="text" name="log"/> <input type="text" name="log"/> <input type="text" name="log"/> <input type="text" name="log"/> <element xmlns:names="engine"></element> <input type="text" name="hi"/>
25 MEAN Stack - silnik szablonów Pug/Jade 25/40 div, id, class Znaki # (hash) i. (kropka) pozwalają tworzyć atrybuty id i class znacznika Znaki. można wykorzystywać wielokrotnie i łączyć je z znakiem # Znacznik div jest bardzo powszechny w HTML - towrzony automatycznie dla znaków # i. Składnia &attributes pozwala na zamianę obiektu JavaScript w zbiór atrybutów p#header p.info h2.big.red.notice div.notice#menu.large.once #footer.red#content.mid p #header p# header - var att = {class: "big", name: "extra"} #main(class="red")&attributes(att) <p id="header"></p> <p class="info"></p> <h2 class="big red notice"></h2> <div class="notice large" id="menu"></div> <div class="once"></div> <div id="footer"></div> <div class="red mid" id="content"></div> <p>#header</p> <p># header</p> <!-- BŁĄD w Node.js --> <div class="red big" id="main" name="extra"></div>
26 MEAN Stack - silnik szablonów Pug/Jade 26/40 Atrybuty - wartości zmiennych, zastępowanie znaczników Chcąc umieścić wartość zmiennej w atrybucie po prostu podajemy jej nazwę Operator + (plus) oznacza konkatenację Domyślnie wszystkie znaczniki HTML są zastępowane, można to wyłączyć używając!= - var url="nba.com" a(href=" // Stary zapis, nie działa w Pug a(href=" div(escaped="<code>") div(unescaped!="<code>") <a href=" <a href=" <div escaped="<code>"></div> <div unescaped="<code>"></div>
27 MEAN Stack - silnik szablonów Pug/Jade 27/40 Typ dokumentu Atrybuty zaczynają się i kończą nawiasem okrągłym Wiele atrybutów oddzielamy przecinkiem albo znakiem nowej linii Występowanie białych znaków nie ma znaczenia Nazwy atrybutów mogą posiadać dwukropek : doctype doctype html doctype xml doctype basic doctype strict doctype 1.1 doctype mobile doctype frameset doctype transitional doctype 5 <!DOCTYPE html> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" " <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.2//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" " <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " <!DOCTYPE 5> // w Jade było <!DOCTYPE html>!!! 5 <!DOCTYPE html> // Tylko w Jade
28 MEAN Stack - silnik szablonów Pug/Jade 28/40 Przypisanie wartości Przypisanie wartości do zmiennej wymaga znaku równości = Przekazanie wartości zmiennej do znacznika wymaga znaku równości zaraz po znaczniku, w przeciwnym razie będzie potraktowana jako tekst znacznika - var imie = "Jarek" nazw='wojtek' nazw= 'Wojtek' nazw ='Wojtek' nazw = 'Wojtek' <nazw>wojtek</nazw> <nazw>wojtek</nazw> <nazw>='wojtek'</nazw> <nazw>= 'Wojtek'</nazw> - var num = 123 p=imie p= imie p = imie p =imie p=num <p>jarek</p> <p>jarek</p> <p>= imie</p> <p>=imie</p> <p>123</p>
29 MEAN Stack - silnik szablonów Pug/Jade 29/40 Kod JavaScript Pug pozwala dodawać trzy rodzaje kodu JavaScrit do szabonu nie przetwarzany do szablonu (unbuffered), zaczyna się od - (minus) przetwarzany do szablonu (buffered), zaczyna się od = (znak równości przetwarzany do szablonu ale znaczniki HTML nie są przetwarzane, zaczyna się od!= wszystkie trzy mogą być w jednej linii albo w bloku p 'Jola ma'+(2+3)+' lat' p= 'Jola ma '+(2+3)+' lat' - for (var x = 0; x < 3; x++) li item p = 'Kod z zastępowanymi <znacznikami>!' = 'Wykorzystano zapis <blokowy>' p!= 'Brak przetwarzania <znacznikow>' <p>'jola ma'+(2+3)+' lat'</p> <p>jola ma 5 lat</p> <li>item</li> <li>item</li> <li>item</li> <p>kod z zastępowanymi <znacznikami>! Wykorzystano zapis <blokowy></p> <p>!= 'Brak przetwarzania <znacznikow>'</p>
30 MEAN Stack - silnik szablonów Pug/Jade 30/40 Przetwarzanie zmiennych Pug pozwala przetwarzać zmienne do szablonu na kilka sposobów: Cała linia przetwarzana jako kod JavaScript (znak =) Przetwarzanie kodu JS wewnątrz #{...} - zastępowanie znaczników HTML Przetwarzanie kodu JS wewnątrz!{...} - znaczniki HTML bez zmian - var tytul = "Książka twoim przyjacielem"; - var autor = "John Doe"; - var wielka = "<span>ucieczka!</span>"; h1= tytul p Napisana z radością przez #{autor} p Bezpieczne przetwarzanie: Wielka #{wielka} p Bezpieczne przetwarzanie: Wielka #{wielka.touppercase()} p Niebezpieczne przetwarzanie: Wielka!{wielka} <h1>książka twoim przyjacielem</h1> <p>napisana z radością przez John Doe</p> <p>bezpieczne przetwarzanie: Wielka <span>ucieczka!</span> </p> <p>bezpieczne przetwarzanie: Wielka <SPAN>UCIECZKA!</SPAN> </p> <p>niebezpieczne przetwarzanie: Wielka <span>ucieczka!</span> </p>
31 MEAN Stack - silnik szablonów Pug/Jade 31/40 Pętle i iteracje I Pętle tworzymy przy użycia słowa each albo for Podając drugi parametr można odczytać wartość indeksu kolejnych elementów ul each item in ['Ala', 'Jan', 'Ola'] li= item for zmienna in ['słoń', 'koza', 'owca'] p= zmienna for kraj, i in ['PL', 'GB', 'LT'] div(index=i)= kraj p= "index wynosi " + i for krajj, ii in ['PL', 'GB', 'LT'] span(index=ii)= krajj p= "index wynosi " + ii + " a kraj to " + krajj <ul> <li>ala</li> <li>jan</li> <li>ola</li> </ul> <p>słoń</p> <p>koza</p> <p>owca</p> <div index="0">pl <p>index wynosi 0</p> </div> <div index="1">gb <p>index wynosi 1</p> </div> <div index="2">lt <p>index wynosi 2</p> </div> <span index="0">pl <p>index wynosi 0 a kraj to PL</p> </span> <span index="1">gb <p>index wynosi 1 a kraj to GB</p> </span> <span index="2">lt <p>index wynosi 2 a kraj to LT</p> </span>
32 MEAN Stack - silnik szablonów Pug/Jade 32/40 Pętle i iteracje II Można również iterować po kluczach w obiekcie Możliwe jest umieszczenie klauzuli else w pętli - jeśli tablica czy obiekt będą puste, to wykona się instrukcja alternatywna ul each os, iii in {1:'Jan', 2:'Ela', 'james':'james'} li= iii + ":" + os else li Brak danych w obiekcie <ul> <li>1:jan</li> <li>2:ela</li> <li>james:james</li> </ul>... <li>brak danych w obiekcie</li> Generalnie iterujemy po tablicach czy obiektach - zmienne języka JavaScript Dostępna jest również pętla while - var n = 10; ul while n >= 7 li= n-- <ul> <li>10</li> <li>9</li> <li>8</li> <li>7</li> </ul>
33 MEAN Stack - silnik szablonów Pug/Jade 33/40 Instrukcje warunkowe Instrukcje warunkowe to proste wyrażenia if/else Tutaj również nie potrzeba nawiasów czy klamer - var sem = "3 semestr" if sem == "3 semestr" p Pamiętaj o magisterce! // To już jest ten czas else p Jest jeszcze czas <p>pamiętaj o magisterce!</p> <!-- To już jest ten czas--> - var deszcz = true unless deszcz == true p Pójdę na spacer - var deszcz = false unless deszcz p Naprawdę pójdę na spacer <p>naprawdę pójdę na spacer</p>
34 MEAN Stack - silnik szablonów Pug/Jade 34/40 Dziedziczenie szablonów Dziedziczenie szablonów pozwala wykorzystać stworzoną strukturę w wielu miejscach W szablonie rodzica definiujemy poleceniem block obszary, które szablon dzicka może zastąpić Szablon dzicka dziedziczy szablon rodzica korzystając ze słowa extends (pierwsza linia w pliku!) ### ssaki.pug // ssaki.pug h1 Informacje ogólne o ssakach section Wszystkie ssaki mają wiele wspólnych cech. block wybrany-ssak p Brak informacji o zwięrzęciu ### mysz.pug extends ssaki block wybrany-ssak h2 Informacje szczególowe o myszach p Myszy to jeden z nielicznych gatunków,... ### szablon ssaki <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <p>brak informacji o zwięrzęciu</p> </section> ### szablon mysz <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <h2>informacje szczególowe o myszach</h2> <p>myszy to jeden z nielicznych gatunków,...</p> </section>
35 MEAN Stack - silnik szablonów Pug/Jade 35/40 Dodawanie treści do dziedziczonego bloku Treść bloku w szablonie pochodnym można zastąpić ale też tylko coś do niej dodać Można dodać treść przed (prepend) i po (append) treści z szablonu rodzica Korzystamy z samego słowa dodającego (prepend albo append) i nazwy bloku albo z podając całą składnię, jako parametr słowa block, np. block prepend wybrany-ssak ### ssaki.pug // ssaki.pug h1 Informacje ogólne o ssakach section Wszystkie ssaki mają wiele wspólnych cech. block wybrany-ssak h2 Informacje o moim ulubionym ssaku ### mysz.pug extends ssaki block append wybrany-ssak h2 Informacje szczególowe o myszach p Myszy to jeden z nielicznych gatunków,... ### szablon ssaki <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <h2>informacje o moim ulubionym ssaku</h2> </section> ### szablon mysz <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <h2>informacje o moim ulubionym ssaku</h2> <h2>informacje szczególowe o myszach</h2> <p>myszy to jeden z nielicznych gatunków,...</p> </section>
36 MEAN Stack - silnik szablonów Pug/Jade 36/40 Dodawanie treści do dziedziczonego bloku II Treść bloku w szablonie pochodnym można zastąpić ale też tylko coś do niej dodać Można dodać treść przed (prepend) i po (append) treści z szablonu rodzica Korzystamy z samego słowa dodającego (prepend albo append) i nazwy bloku albo z podając całą składnię, jako parametr słowa block, np. block prepend wybrany-ssak ### ssaki.pug // ssaki.pug h1 Informacje ogólne o ssakach section Wszystkie ssaki mają wiele wspólnych cech. block wybrany-ssak h2 Informacje o moim ulubionym ssaku ### mysz.pug extends ssaki prepend wybrany-ssak h3 Ogólne informacje o grupie myszowatych. block prepend wybrany-ssak h3 A tutaj jeszcze o myszach... block append wybrany-ssak h2 Informacje szczególowe o myszach p Myszy to jeden z nielicznych gatunków,... ### szablon ssaki <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <h2>informacje o moim ulubionym ssaku</h2> </section> ### szablon mysz <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <h3>a tutaj jeszcze o myszach...</h3> <h3>ogólne informacje o grupie myszowatych.</h3> <h2>informacje o moim ulubionym ssaku</h2> <h2>informacje szczególowe o myszach</h2> <p>myszy to jeden z nielicznych gatunków,...</p> </section>
37 MEAN Stack - silnik szablonów Pug/Jade 37/40 Dołączanie szablonów - include Dziedziczenie do dobry mechanizm ale nie zawsze najbardziej porządany Czasem lepiej jest po prostu dołączyć fragment szablonu w różnych miejscach strony Słowo include pozwala dołączyć fragment szablonu zawarty w innym pliku ### ssaki.pug // ssaki.pug h1 Informacje ogólne o ssakach section Wszystkie ssaki mają wiele wspólnych cech. block wybrany-ssak h2 Informacje o moim ulubionym ssaku include ranking ### ranking.pug h3 Najczęściej oglądane ol li Niedźwiedź brunatny li Słoń afrykański li Foka szara li... ### szablon ssaki <!-- ssaki.pug--> <h1>informacje ogólne o ssakach</h1> <section> Wszystkie ssaki mają wiele wspólnych cech. <h2>informacje o moim ulubionym ssaku</h2> </section> <h3>najczęściej oglądane <ol> <li>niedźwiedź brunatny</li> <li>słoń afrykański</li> <li>foka szara</li><li>...</li> </ol> </h3>
38 MEAN Stack - silnik szablonów Pug/Jade 38/40 Mixins w Pug I Domieszki (ang. mixins) pozwalają tworzyć bloki kodu wielokrotnego użycia Są kompilowane do funkcji, które mogą przyjmować argumenty //- Deklaracja mixin list ul li Ala li Ela li Ola //- Użycie +list +list mixin mebel(nazwa) li.mebel= nazwa ul +mebel('krzesło') +mebel('stół') +mebel('fotel') <ul> <li>ala</li> <li>ela</li> <li>ola</li> </ul> <ul> <li>ala</li> <li>ela</li> <li>ola</li> </ul> <ul> <li class="mebel">krzesło</li> <li class="mebel">stół</li> <li class="mebel">fotel</li> </ul>
39 MEAN Stack - silnik szablonów Pug/Jade 39/40 Mixins w Pug II W domieszkach można używać bloków Pug jako zawartość mixin article(tytul).article.article-wrapper h1= tytul if block block else p Nie dostarczono treści +article('witaj świecie') +article('witaj świecie') p to jest mój p wspaniały artykuł <div class="article"> <div class="article-wrapper"> <h1>witaj świecie</h1> <p>nie dostarczono treści</p> </div> </div> <div class="article"> <div class="article-wrapper"> <h1>witaj świecie</h1> <p>to jest mój</p> <p>wspaniały artykuł</p> </div> </div>
40 MEAN Stack - silnik szablonów Pug/Jade 40/40 Źródła W wykładzie wykorzystano materiały:
Silnik szablonów Pug/Jade - pomoc do lab03
ilnik szablonów Pug/Jade - pomoc do lab03 1/27 Silnik szablonów Pug/Jade - pomoc do lab03 Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut
MEAN Stack - silnik szablonów Pug/Jade
MEAN Stack - silnik szablonów Pug/Jade Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl 7 czerwca 2018 Plan prezentacji Spis treści 1 express-generator 1 2 Silniki szablonów 2
MEAN Stack - express-generator, silnik szablonów Pug/Jade
EAN Stack - express-generator, silnik szablonów Pug/Jade 1/29 MEAN Stack - express-generator, silnik szablonów Pug/Jade Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika
Podstawy (X)HTML i CSS
Inżynierskie podejście do budowania stron WWW momat@man.poznan.pl 2005-04-11 1 Hyper Text Markup Language Standardy W3C Przegląd znaczników Przegląd znaczników XHTML 2 Cascading Style Sheets Łączenie z
XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania.
XHTML - Extensible Hypertext Markup Language, czyli Rozszerzalny Hipertekstowy Język Oznaczania. Reformuje on znane zasady języka HTML 4 w taki sposób, aby były zgodne z XML (HTML przetłumaczony na XML).
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych
1. Wstawianie skryptu na stroną: Laboratorium 1 Do umieszczenia skryptów na stronie służy znacznik: //dla HTML5 ...instrukcje skryptu //dla HTML4 ...instrukcje
Express.js i własne API - pomoc do lab02
xpress.js i własne API - pomoc do lab02 1/27 Express.js i własne API - pomoc do lab02 Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki
Programowanie internetowe
Programowanie internetowe Wykład 1 HTML mgr inż. Michał Wojtera email: mwojtera@dmcs.pl Plan wykładu Organizacja zajęć Zakres przedmiotu Literatura Zawartość wykładu Wprowadzenie AMP / LAMP Podstawy HTML
Facelets ViewHandler
JSF i Facelets Wprowadzenie JSP (JavaServer Pages) są natywną i najczęściej używaną technologią do tworzenia warstwy prezentacyjnej dla JSF (JavaServer Faces) Istnieją alternatywne technologie opisu wyglądu
PHP: bloki kodu, tablice, obiekty i formularze
1 PHP: bloki kodu, tablice, obiekty i formularze SYSTEMY SIECIOWE Michał Simiński 2 Bloki kodu Blok if-else Switch Pętle Funkcje Blok if-else 3 W PHP blok if i blok if-else wyglądają tak samo i funkcjonują
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
server.listen(port, hostname, () => { console.log(`server running at });
TECHNIKI WWW (WFAIS.IF-C125) (zajęcia 04.01.2017 r. i 11.01.2017) Dla przypomnienia uruchamianie serwera http podającego statyczną treść polegało na stworzeniu skryptu wraz z osadzonym kodem statycznej
PROGRAMOWANIE. WNPiD UAM, Programowanie, inż. Piotr Jabłoński
PROGRAMOWANIE HTML W składni języka HTML wykorzystuje się charakterystyczne znaczniki. Każdy z nich zaczyna się i kończy ostrokątnym nawiasem a pomiędzy nimi znajduje się wyrażenie html. Rozróżniamy znaczniki
MEAN Stack - Node.js, express
EAN Stack - Node.js, express 1/48 MEAN Stack - Node.js, express Tworzenie serwisów Web 2.0 dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej i
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal
Funkcje i instrukcje języka JavaScript
Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje
Dynamiczne przetwarzanie stron. dr Beata Kuźmińska-Sołśnia
Dynamiczne przetwarzanie stron dr Beata Kuźmińska-Sołśnia KLIENT Witaj INTERNET SERWER Plik HTML Witaj wyświetlanie przez przeglądarkę Witaj! Serwer WWW komputer
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 1. Wprowadzenie do aplikacji internetowych
Tworzenie Stron Internetowych. odcinek 10
Tworzenie Stron Internetowych odcinek 10 JavaScript JavaScript (ECMAScript) skryptowy język programowania powszechnie używany w Internecie. Skrypty JS dodają do stron www interaktywność i funkcjonalności,
2 Podstawy tworzenia stron internetowych
2 Podstawy tworzenia stron internetowych 2.1. HTML5 i struktura dokumentu Podstawą działania wszystkich stron internetowych jest język HTML (Hypertext Markup Language) hipertekstowy język znaczników. Dokument
I.Wojnicki, PHP. Smarty. Igor Wojnicki. Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie. 28 marca 2014
Igor Wojnicki (AGH, KIS) Smarty 28 marca 2014 1 / 33 Smarty Igor Wojnicki Katedra Informatyki Stosowanej Akademia Górniczo-Hutnicza w Krakowie 28 marca 2014 $Id: smarty.tex,v 1.2 2013/06/22 22:09:45 wojnicki
Young Programmer: HTML+PHP. Dr inż. Małgorzata Janik, Zajęcia #2
Young Programmer: HTML+PHP Dr inż. Małgorzata Janik, Zajęcia #2 Ramowy program warsztatów Zajęcia 1: Zajęcia wprowadzające, HTML Zajęcia 2: Style CSS (tabele i kaskadowe arkusze stylów) Zajęcia 3: Podstawy
Bazy Danych i Usługi Sieciowe
Bazy Danych i Usługi Sieciowe Język PHP Paweł Witkowski Wydział Matematyki, Informatyki i Mechaniki Jesień 2011 P. Witkowski (Wydział Matematyki, Informatyki i Mechaniki) BDiUS w. VIII Jesień 2011 1 /
Być może jesteś doświadczonym programistą, biegle programujesz w Javie,
Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,
Wykład 1: HTML (XHTML) Michał Drabik
Wykład 1: HTML (XHTML) Michał Drabik 1 Czyli to wszystko co trzeba wiedzieć aby zacząć tworzyć strony internetowe. 2 HTML 4 HTML = HyperText Markup Language Hipertekstowy język znaczników umożliwiający
Cw.12 JAVAScript w dokumentach HTML
Cw.12 JAVAScript w dokumentach HTML Wstawienie skryptu do dokumentu HTML JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.skrypty Java- Script mogą być zagnieżdżane
Smarty PHP. Leksykon kieszonkowy
IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK
Kompozycja Proceduralna
Kompozycja Proceduralna Temat 11: Mechanizm szablonów stron dynamicznych na przykładzie PHP Piotr Habela Polsko-Japońska Wyższa Szkoła Technik Komputerowych 1 Plan prezentacji Role autorów w tworzeniu
Zaawansowana Pracownia Komputerowa - Ćwiczenia. Krzysztof Miernik
Zaawansowana Pracownia Komputerowa - Ćwiczenia Krzysztof Miernik HTML - Podstawowe Informacje HTML to hipertekstowy język znaczników (ang. HyperText Markup Language) służacy do tworzenia stron internetowych
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium JavaServer Pages Celem ćwiczenia jest zbudowanie kilku prostych stron internetowych z użyciem technologii JSP. Podczas ćwiczenia wykorzystany zostanie algorytm sortowania bąbelkowego
Michał Bielecki, KNI 'BIOS'
Michał Bielecki, KNI 'BIOS' PHP czyli język typu client side 1. przeglądarka www żąda dokumentu o rozszerzeniu.php 2. serwer odbiera żądanie i przesyła do parsera php 3. parser php znajduje żądany plik
rk HTML 4 a 5 różnice
rk HTML 4 a 5 różnice kompatybilność Pierwszym dużym plusem języka HTML 5 jest to, że jest zdefiniowany w sposób umożliwiający kompatybilność wstecz. Składnia Przykład dokumentu podporządkowującego się
XML extensible Markup Language. część 5
XML extensible Markup Language część 5 JavaScript Co to jest JavaScript? JavaScript był zaprojektowany w celu dodania interaktywności do stron HTML JavaScript jest językiem skryptowym JavaScript jest zwykle
Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].
ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości
Referat z przedmiotu Technologie Internetowe SPIS TREŚCI
SPIS TREŚCI 1.Dwie metody przekazu danych do serwera 2 2.Metoda GET przykład 3 3.Metoda POST przykład 4 4.Kiedy GET a kiedy POST 5 5.Szablony po co je stosować 7 6.Realizacja szablonu własną funkcją 8
Wykład 03 JavaScript. Michał Drabik
Wykład 03 JavaScript Michał Drabik Język programowania wykorzystywany na stronach internetowych głównie w celu umożliwienia interakcji z użytkownikiem. Kod JavaScript może być umieszczany w kodzie XHTML
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
HTML (HyperText Markup Language) hipertekstowy język znaczników
HTML (HyperText Markup Language) hipertekstowy język znaczników Struktura dokumentu tytuł strony
REFERAT O PRACY DYPLOMOWEJ
REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,
L eszek Sewastianowicz P odstawy systemu szablonów Smarty 1 www.serwan.pl
1 www.serwan.pl Copyright 2009 Leszek Sewastianowicz wszelkie prawa zastrzeżone trener@serwan.pl www.serwan.pl Spis treści Wprowadzenie do systemu szablonów Smarty...3 Instalacja...3 Komentarze...3 Przekazywanie
Programowanie obiektowe
Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy
XML extensible Markup Language. część 5
XML extensible Markup Language część 5 XML ważne zastosowanie Jak często pracujemy z plikami XML? Wróćmy jeszcze do wykładu poprzedniego. A dokładnie do pliku zawierającego ten wykład. xml_2017_wyklad_4.pptx
29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
Laboratorium 1 Wprowadzenie do PHP
Laboratorium 1 Wprowadzenie do PHP Ćwiczenie 1. Tworzenie i uruchamianie projektu PHP w Netbeans Tworzenie projektu Uruchom środowisko NetBeans. Stwórz nowy projekt typu PHP Application (File->New Project,
media Blitz wydajne sytemy szablonów
Blitz wydajne sytemy szablonów Dlaczego stosować szablony? MVC Kontroler Model Widok Co to jest Blitz? Rozszerzenie PHP stworzone przez Alexey A. Rybak a. Regularnie rozwijany od 2005 roku. Szybki i lekki
SSK - Techniki Internetowe
SSK - Techniki Internetowe Ćwiczenie 2. Obsługa formularzy. Operatory, instrukcje warunkowe oraz instrukcje pętli w PHP. Obsługa formularzy Skryptu PHP moŝna uŝyć do obsługi formularza HTML. Aby tego dokonać,
Budowa aplikacji wielowarstwowych. Zastosowanie szablonów
Budowa aplikacji wielowarstwowych. Zastosowanie szablonów Laboratorium 2 Technologie internetowe Zofia Kruczkiewicz 1 Wykaz pytań dotyczących materiału wykorzystanego w lab2, które należy opracować (wykład
Deklaracja struktury w C++
Struktury to złożone typy danych pozwalające przechowywać różne informacje. Za pomocą struktur możliwe jest grupowanie wielu zmiennych o różnych typach w jeden obiekt. Strukturę można nazywać obiektem
Laboratorium 6 Tworzenie bloga w Zend Framework
Laboratorium 6 Tworzenie bloga w Zend Framework Przygotowanie bazy danych 1. Wykonaj skrypt blog.sql, który założy w bazie danych dwie tabele oraz wpisze do nich przykładowe dane. Tabela blog_uzytkownicy
LESS - CSS dla leniwych
LESS - CSS dla leniwych Tomasz Dziuda Główny programista w GavickPro dziudek@gmail.com Twitter: @dziudek zebymniezapomnial.tumblr.com Czym jest LESS? Alternatywy 1. SASS (Ruby) 2. Turbine (PHP) 3. CSS
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Test przykładowy 2 PAI WSB Wrocław /06/2018
Imię i Nazwisko: Student ID: Part 1: (Prawda lub Fałsz (T lub F)) 15. Która z poniższych deklaracji funkcji jest nieprawidłowa: A. function Sum(a, b, c){; B. function Sum(var a, var b); C. function Sum(a){;
Personal Home Page PHP: Hypertext Preprocessor
Języki, które już znacie Wykład9PodstawyPHP,str1 język polski język angielski język C język preprocesora C język bash-a język HTML kolejny język: PHP Język PHP Wykład9PodstawyPHP,str2 Personal Home Page
Szablon główny (plik guestbook.php) będzie miał postać:
Skrypt: Księga gości Skrypt generujący księgę gości będzie się składał z trzech części: szablonu głównego, który należy zapisać pod nazwą guestbook.php, formularza służącego do dodawania wpisów, który
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery. Łukasz Bartczuk
Tworzenie stron internetowych z wykorzystaniem HTM5, JavaScript, CSS3 i jquery Łukasz Bartczuk Moduł 6 JavaScript w przeglądarce Agenda Skrypty na stronie internetowej Model DOM AJAX Skrypty na stronie
Umieszczanie kodu. kod skryptu
PHP Definicja PHP jest językiem skryptowym służącym do rozszerzania możliwości stron internetowych. Jego składnia jest bardzo podobna do popularnych języków programowania C/C++, lecz jest bardzo uproszczona
Złożone komponenty JSF wg
Złożone komponenty JSF wg https://docs.oracle.com/javaee/7/jeett.pdf http://www.coreservlets.com Technologie internetowe 8 Technologie internetowe 8, Zofia 1 Opis znaczników obsługiwanych przez Facelets
HTML DOM, XHTML cel, charakterystyka
HTML DOM, XHTML cel, charakterystyka Mariusz Kacała Łukasz Przywarty Grzegorz Trawiński HTML DOM XHTML Ramowy plan prezentacji Wstęp HTML DOM - Założenia - Model i struktura - Właściwości - Metody i zastosowania
DTD - encje ogólne i parametryczne, przestrzenie nazw
DTD - encje ogólne i parametryczne, przestrzenie nazw Instytut Informatyki Encje Encja (ang.entity) - uogólnienie pojęcia makrodefinicji Encje to dogodny sposób reprezentacji danych które występują wielokrotnie,
Wykład 2 TINT. XHTML tabele i ramki. Zofia Kruczkiewicz
Wykład 2 TINT XHTML tabele i ramki Zofia Kruczkiewicz 1. Tabele 1.1. Przykład tabeli zawierającej kalendarz na miesiąc marzec ... definiuje tabelę Atrybuty: border ="" obramowanie tabeli,
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)
Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty) // to jest pojedynczy komentarz (1-linijkowy) to jest wielolinijkowy komentarz Budowa "czystego" skryptu PHP (tak
WYKŁAD 1 ANGULARJS CZĘŚĆ 1
WYKŁAD 1 ANGULARJS CZĘŚĆ 1 DEFINICJA ANGULARJS Framework JavaScript na licencji open-source wykorzystywany do tworzenia aplikacji SPA (single page applications) w oparciu o wzorzec projektowy Model-View-Controler.
Lekcja 1. Składnia języka zmienne i podstawowe instrukcje PHP. Do wyświetlania tekstu służy instrukcja echo echo Hello world ;
Do wyświetlania tekstu służy instrukcja echo echo Hello world ; PHP język ze słabą kontrolą typów. W języku php w przeciwieństwie do c++ nie musimy podawać typu zmiennej podczas jej deklaracji. Tworzenie
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Wykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.
IŚ ćw.8 JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania. Skrypty JavaScript są zagnieżdżane w dokumentach HTML. Skrypt JavaScript
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Redis, skrypty w języku Lua
edis, skrypty w języku Lua 1/15 Redis, skrypty w języku Lua Technologie Zarządzania Treścią dr inż. Robert Perliński rperlinski@icis.pcz.pl Politechnika Częstochowska Instytut Informatyki Teoretycznej
Źródła. cript/1.5/reference/ Ruby on Rails: http://www.rubyonrails.org/ AJAX: http://www.adaptivepath.com/publications/e ssays/archives/000385.
Źródła CSS: http://www.csszengarden.com/ XHTML: http://www.xhtml.org/ XML: http://www.w3.org/xml/ PHP: http://www.php.net/ JavaScript: http://devedgetemp.mozilla.org/library/manuals/2000/javas cript/1.5/reference/
Zaawansowany kurs języka Python
Środowisko Django początki 10 stycznia 2014 Plan wykładu 1 2 Plan wykładu 1 2 Co to jest Django Oparty o Pythona framework do tworzenia aplikacji internetowych. Co to jest Django Oparty o Pythona framework
Metaprogramowanie w Ruby
24 marca 2011 Cechy języka Wieloparadygmatowy Imperatywny Typowanie Silne Dynamiczne Otwarte klasy Interpretowany Wszystko jest obiektem Moduły i mixiny Moduły Moduły pozwalają na łatwe włączanie ich kodu
Wykład 2 Tabele i ramki 1. Tabele 1.1. Podstawy budowy tabel na stronach WWW
Wykład 2 Tabele i ramki 1. Tabele 1.1. Podstawy budowy tabel na stronach WWW Rys.1. Przykład prostej tabeli zawierającej kalendarz na miesiąc marzec ... definiuje tabelę Atrybuty: border
Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów
Aplikacje internetowe KL. III Rok szkolny: 011/01 Nr programu: 31[01]/T,SP/MENIS/004.06.14 Okres kształcenia: łącznie ok. 180 godz. lekcyjne Wojciech Borzyszkowski Zenon Kreft Moduł Bok wprowadzający Podstawy
TOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
Elementarz HTML i CSS
Elementarz HTML i CSS Znaczniki przydatne w pracy redaktora stron internetowych 1 Elementarz HTML i CSS Znaczniki przydatne w pracy redaktora stron internetowych Treść, korekta, skład i oprawa graficzna
Struktura języka HTML ZNACZNIKI. Oto bardzo prosta strona WWW wyświetlona w przeglądarce: A tak wygląda kod źródłowy takiej strony:
Struktura języka HTML ZNACZNIKI Oto bardzo prosta strona WWW wyświetlona w przeglądarce: Rysunek 1: Przykładowa strona wyświetlona w przeglądarce A tak wygląda kod źródłowy takiej strony: Rysunek 2: Kod
WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1
WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy
Zaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 6 - szablony. dr inż. Robert Nowak - p. 1/15 Kolekcje i algorytmy» Deklaracja szablonu y Pojęcia niezależne od typu: kolekcje (np. listy) algorytmy (np. znajdowania
Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych
rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz
Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]
1. CEL ĆWICZENIA Celem ćwiczenia jest przedstawienie możliwości wykorzystania języka JavaScript do tworzenia interaktywnych aplikacji działających po stronie klienta. 2. MATERIAŁ NAUCZANIA JavaScript tak
Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017
Wykład 7 25 kwietnia 2017 Dokumentowanie kodu Program javadoc Java jest wyposażona w generator dokumentacji który na podstawie odpowiednio napisanych komentarzy w kodzie programu (które jednak nie sa konieczne),
Podstawowe informacje o technologii Java Persistence API - przykład
Podstawowe informacje o technologii Java Persistence API - przykład na podstawie https://docs.oracle.com/javaee/7/jeett.pdf Programowanie komponentowe 3_2 1 1. Wykonanie kopii programu Sklep_6 2 1. Wykonanie
Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki
Programowanie w Sieci Internet Blok 2 - PHP Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki Co dziś będziemy robić Podstawy podstaw, czyli małe wprowadzenie do PHP, Podstawy
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
GRID LAYOUT. Waldemar Korłub. Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska
GRID LAYOUT Waldemar Korłub Aplikacje i Usługi Internetowe KASK ETI Politechnika Gdańska Pozycjonowanie elementów na stronie 2 Atrybuty position/float Rozwiązania z czasów przed rewolucją mobilną FlexBox
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:
Skrypty powłoki Skrypty są zwykłymi plikami tekstowymi, w których są zapisane polecenia zrozumiałe dla powłoki. Zadaniem powłoki jest przetłumaczenie ich na polecenia systemu. Aby przygotować skrypt, należy:
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Programowanie w Ruby
Programowanie w Ruby Wykład 3 Marcin Młotkowski 22 października 2018 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie w Ruby 70 / 432 Z poprzedniego wykładu String to ciąg bajtów zwykle reprezentujących
Format HTML. Wybrane działy Informatyki Stosowanej. Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty
Wybrane działy Informatyki Stosowanej Format HTML Definicja i przeznaczenie Struktura dokumentu Znaczniki Formularze i komponenty dr hab. inż. Andrzej Czerepicki 2019 Definicja HTML HyperText Markup Language
HTML, Javascript, CSS oraz Bootstrap
HTML, Javascript, CSS oraz Bootstrap Adresaci szkolenia: Kurs przeznaczony jest dla programistów pragnących poszerzyć swoje kompetencje w zakresie tworzenia aplikacji webowych. W ramach szkolenia zostaną
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych
Technologie informacyjne lab. 4
Technologie informacyjne lab. 4 Cel ćwiczenia: Zapoznanie się z komunikacją ze zdalnym serwerem w sieci na przykładzie bezpiecznego serwera SSH. Wstępne zapoznanie się z ideą certyfikatów. Praca z edytorem
Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.
Podstawowe elementy proceduralne w C++ Program i wyjście Zmienne i arytmetyka Wskaźniki i tablice Testy i pętle Funkcje Pierwszy program // Niezbędne zaklęcia przygotowawcze ;-) #include using
Tablice (jedno i wielowymiarowe), łańcuchy znaków
Tablice (jedno i wielowymiarowe), łańcuchy znaków wer. 8 z drobnymi modyfikacjami! Wojciech Myszka Katedra Mechaniki i Inżynierii Materiałowej 2017-04-07 09:35:32 +0200 Zmienne Przypomnienie/podsumowanie
TECHNOLOGIE INTERNETOWE WYKŁAD 6. JavaScript Funkcje i obiekty
1. Co to jest funkcja? Funkcja jest oddzielnym blokiem kodu, który może być wielokrotnie wykonywany w danym programie, poprzez jej wielokrotne wywoływanie. Do funkcji przekazujemy przeważnie jakieś argumenty,