Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <html>
- <head>
- <title>Шаблонизация</title>
- <meta charset="utf-8">
- <link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700&subset=cyrillic" rel="stylesheet">
- <link href="css/fontawesome-all.min.css" rel="stylesheet">
- <style>
- * {
- margin: 0;
- padding: 0;
- }
- html {
- font-family: 'Open Sans', sans-serif;
- }
- body {
- max-width: 1200px;
- }
- .photo {
- position: relative;
- width: 30%;
- padding: 30px 20px 20px;
- margin: 1%;
- display: inline-block;
- height: 215px;
- background-repeat: no-repeat;
- background-size: cover;
- border: 1px solid #fff;
- border-radius: 3px;
- box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.1);
- }
- .photo footer {
- position: absolute;
- bottom: 0;
- left: 0;
- box-sizing: border-box;
- height: 70px;
- width: 100%;
- padding: 10px;
- line-height: 50px;
- color: #fff;
- }
- .photo footer > * {
- float: left;
- }
- .photo footer > * + * {
- margin-left: 5px;
- }
- .avatar {
- border: 1px solid transparent;
- border-radius: 50%;
- overflow: hidden;
- }
- .avatar > img {
- width: 50px;
- }
- .social {
- color: inherit;
- }
- .rating[class][class] {
- float: right;
- }
- .rating > i {
- color: red;
- }
- </style>
- </head>
- <body>
- <h2>Исходник</h2>
- <article class="photo" style="background-image: url(https://images.unsplash.com/photo-1522205432273-e6a178a9edd2?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&ixid=eyJhcHBfaWQiOjI1MzQyfQ&s=d8a144480f68b2607fd0acae7f073f24)">
- <footer>
- <span class="avatar"><img src="https://images.unsplash.com/profile-1515413915015-5aee0237c74b?ixlib=rb-0.3.5&q=80&fm=jpg&crop=faces&cs=tinysrgb&fit=crop&h=64&w=64&s=aa2ade77e5fc4568828507b0e5b3ae2a"></span>
- <h2>Felix Russell-Saw</h2>
- <a class="social" href="https://www.instagram.com/felixrussellsaw">
- <i class="fab fa-instagram"></i>
- </a>
- <span class="rating">
- <i class="fa fa-heart"></i> 11
- </span>
- </footer>
- </article>
- <h2>Шаблонизируем строками</h2>
- <div class="string-template"></div>
- <h2>Шаблонизируем браузером</h2>
- <div class="browser-template"></div>
- <h2>Шаблонизируем в два прохода</h2>
- <div class="two-steps-template"></div>
- <script>
- var apiJson = `[
- {"id": "lqCO94n4KP0", "created_at": "2018-04-26T11:31:39-04:00", "updated_at": "2018-04-27T08:18:07-04:00", "width": 4416, "height": 3312, "color": "#050505", "description": null, "categories": [], "urls": {"raw": "https://images.unsplash.com/photo-1524755968487-e44edcb96e1d?ixlib=rb-0.3.5\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=d3fab9b95d5f3485ddafcdc6cb03e8ff", "full": "https://images.unsplash.com/photo-1524755968487-e44edcb96e1d?ixlib=rb-0.3.5\u0026q=85\u0026fm=jpg\u0026crop=entropy\u0026cs=srgb\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=cfcbced77ad98edfef6fc2e7d9e36694", "regular": "https://images.unsplash.com/photo-1524755968487-e44edcb96e1d?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=1080\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=2a3ebc94d1f3829b69f1f79d026f1f14", "small": "https://images.unsplash.com/photo-1524755968487-e44edcb96e1d?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=400\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=483678bec36d4eb0a9ce2b315a19c837", "thumb": "https://images.unsplash.com/photo-1524755968487-e44edcb96e1d?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=200\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=619dcbe923f8a80d0c45a7e2e4b6bac5"
- }, "links": {"self": "https://api.unsplash.com/photos/lqCO94n4KP0", "html": "https://unsplash.com/photos/lqCO94n4KP0", "download": "https://unsplash.com/photos/lqCO94n4KP0/download", "download_location": "https://api.unsplash.com/photos/lqCO94n4KP0/download"
- }, "liked_by_user": false, "sponsored": false, "likes": 0, "user": {"id": "cq5j_Rhaw1I", "updated_at": "2018-04-26T22:33:22-04:00", "username": "jonathanbell", "name": "Jonathan Bell", "first_name": "Jonathan", "last_name": "Bell", "twitter_username": null, "portfolio_url": null, "bio": null, "location": null, "links": {"self": "https://api.unsplash.com/users/jonathanbell", "html": "https://unsplash.com/@jonathanbell", "photos": "https://api.unsplash.com/users/jonathanbell/photos", "likes": "https://api.unsplash.com/users/jonathanbell/likes", "portfolio": "https://api.unsplash.com/users/jonathanbell/portfolio", "following": "https://api.unsplash.com/users/jonathanbell/following", "followers": "https://api.unsplash.com/users/jonathanbell/followers"
- }, "profile_image": {"small": "https://images.unsplash.com/placeholder-avatars/extra-large.jpg?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=32\u0026w=32\u0026s=0ad68f44c4725d5a3fda019bab9d3edc", "medium": "https://images.unsplash.com/placeholder-avatars/extra-large.jpg?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=64\u0026w=64\u0026s=356bd4b76a3d4eb97d63f45b818dd358", "large": "https://images.unsplash.com/placeholder-avatars/extra-large.jpg?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=128\u0026w=128\u0026s=ee8bbf5fb8d6e43aaaa238feae2fe90d"
- }, "total_collections": 0, "instagram_username": null, "total_likes": 0, "total_photos": 1
- }, "current_user_collections": []
- }, {"id": "DaLK5QH0_xI", "created_at": "2018-04-27T08:04:04-04:00", "updated_at": "2018-04-27T08:17:36-04:00", "width": 3648, "height": 5472, "color": "#1E1D1E", "description": null, "categories": [], "urls": {"raw": "https://images.unsplash.com/photo-1524830575636-674cfa79ddba?ixlib=rb-0.3.5\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=f0c42207ac748582c8389a5c2a8586f3", "full": "https://images.unsplash.com/photo-1524830575636-674cfa79ddba?ixlib=rb-0.3.5\u0026q=85\u0026fm=jpg\u0026crop=entropy\u0026cs=srgb\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=9631f18bff42fd46ac1cc26b456d350d", "regular": "https://images.unsplash.com/photo-1524830575636-674cfa79ddba?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=1080\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=262f7f7ce0db2784a6de5caa67eea10a", "small": "https://images.unsplash.com/photo-1524830575636-674cfa79ddba?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=400\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=2d3ebb032b8533aaee622287d6d5cdf6", "thumb": "https://images.unsplash.com/photo-1524830575636-674cfa79ddba?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=200\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=1559a3591f5bb9c794f0e11e53b31c40"
- }, "links": {"self": "https://api.unsplash.com/photos/DaLK5QH0_xI", "html": "https://unsplash.com/photos/DaLK5QH0_xI", "download": "https://unsplash.com/photos/DaLK5QH0_xI/download", "download_location": "https://api.unsplash.com/photos/DaLK5QH0_xI/download"
- }, "liked_by_user": false, "sponsored": false, "likes": 1, "user": {"id": "P9cpS1fJFN8", "updated_at": "2018-04-27T08:04:04-04:00", "username": "staticlaw", "name": "Fabrizio Conti", "first_name": "Fabrizio", "last_name": "Conti", "twitter_username": null, "portfolio_url": "http://staticlaw.it/", "bio": null, "location": null, "links": {"self": "https://api.unsplash.com/users/staticlaw", "html": "https://unsplash.com/@staticlaw", "photos": "https://api.unsplash.com/users/staticlaw/photos", "likes": "https://api.unsplash.com/users/staticlaw/likes", "portfolio": "https://api.unsplash.com/users/staticlaw/portfolio", "following": "https://api.unsplash.com/users/staticlaw/following", "followers": "https://api.unsplash.com/users/staticlaw/followers"
- }, "profile_image": {"small": "https://images.unsplash.com/profile-1504629483788-8c7dcca0ee7b?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=32\u0026w=32\u0026s=dedb6a344bd0e6fbf0b982c0040d2d48", "medium": "https://images.unsplash.com/profile-1504629483788-8c7dcca0ee7b?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=64\u0026w=64\u0026s=85c91c3fab799e0b548eeb47b2af016c\\\" onload=\\\"alert('hello world');\\\"", "large": "https://images.unsplash.com/profile-1504629483788-8c7dcca0ee7b?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=128\u0026w=128\u0026s=e6dc5ad44c4a0503821a5d2d62ae492d"
- }, "total_collections": 15, "instagram_username": null, "total_likes": 607, "total_photos": 180
- }, "current_user_collections": []
- }, {"id": "IJS2q_V7-fQ", "created_at": "2018-04-27T07:31:29-04:00", "updated_at": "2018-04-27T08:17:04-04:00", "width": 3674, "height": 5511, "color": "#100D0F", "description": null, "categories": [], "urls": {"raw": "https://images.unsplash.com/photo-1524828628484-8274f57edd96?ixlib=rb-0.3.5\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=cf3ddf2d870e216b89cc8248c53d3c31", "full": "https://images.unsplash.com/photo-1524828628484-8274f57edd96?ixlib=rb-0.3.5\u0026q=85\u0026fm=jpg\u0026crop=entropy\u0026cs=srgb\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=6503afbb397a6af0a2213cb7f6f9d38b", "regular": "https://images.unsplash.com/photo-1524828628484-8274f57edd96?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=1080\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=673c9b62b05bac236289edf895459613", "small": "https://images.unsplash.com/photo-1524828628484-8274f57edd96?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=400\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=2737ad229e4dc059f1ce687d6f612c22", "thumb": "https://images.unsplash.com/photo-1524828628484-8274f57edd96?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=200\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=d8699efdbcb4b15c5e09ba5b3eda3b73"
- }, "links": {"self": "https://api.unsplash.com/photos/IJS2q_V7-fQ", "html": "https://unsplash.com/photos/IJS2q_V7-fQ", "download": "https://unsplash.com/photos/IJS2q_V7-fQ/download", "download_location": "https://api.unsplash.com/photos/IJS2q_V7-fQ/download"
- }, "liked_by_user": false, "sponsored": false, "likes": 56, "user": {"id": "Y_ahmO0Bbjg", "updated_at": "2018-04-27T07:31:29-04:00", "username": "caldhela", "name": "Caesar Aldhela", "first_name": "Caesar", "last_name": "Aldhela", "twitter_username": null, "portfolio_url": "http://hellonemo.com", "bio": "Interface designer who loves take random photos", "location": "Malang, Indonesia", "links": {"self": "https://api.unsplash.com/users/caldhela", "html": "https://unsplash.com/@caldhela", "photos": "https://api.unsplash.com/users/caldhela/photos", "likes": "https://api.unsplash.com/users/caldhela/likes", "portfolio": "https://api.unsplash.com/users/caldhela/portfolio", "following": "https://api.unsplash.com/users/caldhela/following", "followers": "https://api.unsplash.com/users/caldhela/followers"
- }, "profile_image": {"small": "https://images.unsplash.com/profile-fb-1517736776-7b6f58bafc39.jpg?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=32\u0026w=32\u0026s=9151c54fb8eb2a3c01f1f850a3bf16dc", "medium": "https://images.unsplash.com/profile-fb-1517736776-7b6f58bafc39.jpg?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=64\u0026w=64\u0026s=966759a32bc15ecc13ab096c8d43c974", "large": "https://images.unsplash.com/profile-fb-1517736776-7b6f58bafc39.jpg?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=128\u0026w=128\u0026s=6d39a9a6536d0a87fe0c1ed54e329949"
- }, "total_collections": 0, "instagram_username": "caldhela", "total_likes": 2, "total_photos": 5
- }, "current_user_collections": []
- }, {"id": "OAM6t86yOvw", "created_at": "2018-04-27T06:14:45-04:00", "updated_at": "2018-04-27T08:16:54-04:00", "width": 4000, "height": 6000, "color": "#B3CCCD", "description": null, "categories": [], "urls": {"raw": "https://images.unsplash.com/photo-1524824019080-e835a2929578?ixlib=rb-0.3.5\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=6619fff73473f2e0cd801af2d20a8109", "full": "https://images.unsplash.com/photo-1524824019080-e835a2929578?ixlib=rb-0.3.5\u0026q=85\u0026fm=jpg\u0026crop=entropy\u0026cs=srgb\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=e811acb339481638c56441b15f9f7a37", "regular": "https://images.unsplash.com/photo-1524824019080-e835a2929578?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=1080\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=fd232b9eab3da990a1b2aaa5fa418ad6", "small": "https://images.unsplash.com/photo-1524824019080-e835a2929578?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=400\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=585fabf510d44b384540b8c899fdb95d", "thumb": "https://images.unsplash.com/photo-1524824019080-e835a2929578?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=entropy\u0026cs=tinysrgb\u0026w=200\u0026fit=max\u0026ixid=eyJhcHBfaWQiOjI1MzQyfQ\u0026s=f6d266c4058529b634759a2e8cec461b"
- }, "links": {"self": "https://api.unsplash.com/photos/OAM6t86yOvw", "html": "https://unsplash.com/photos/OAM6t86yOvw", "download": "https://unsplash.com/photos/OAM6t86yOvw/download", "download_location": "https://api.unsplash.com/photos/OAM6t86yOvw/download"
- }, "liked_by_user": false, "sponsored": false, "likes": 94, "user": {"id": "oenW-Y4S49U", "updated_at": "2018-04-27T06:14:45-04:00", "username": "thethinblackframe", "name": "David Clarke", "first_name": "David", "last_name": "Clarke", "twitter_username": null, "portfolio_url": "http://www.instagram.com/thethinblackframe", "bio": "Melbourne through my eyes.", "location": "Melbourne, Australia", "links": {"self": "https://api.unsplash.com/users/thethinblackframe", "html": "https://unsplash.com/@thethinblackframe", "photos": "https://api.unsplash.com/users/thethinblackframe/photos", "likes": "https://api.unsplash.com/users/thethinblackframe/likes", "portfolio": "https://api.unsplash.com/users/thethinblackframe/portfolio", "following": "https://api.unsplash.com/users/thethinblackframe/following", "followers": "https://api.unsplash.com/users/thethinblackframe/followers"
- }, "profile_image": {"small": "https://images.unsplash.com/profile-1523415950363-ae4827aec244?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=32\u0026w=32\u0026s=931fc96c9284c2bdd5895f4850a9d267", "medium": "https://images.unsplash.com/profile-1523415950363-ae4827aec244?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=64\u0026w=64\u0026s=3b71ecb4f3f6d2215bdf5ed331a17977", "large": "https://images.unsplash.com/profile-1523415950363-ae4827aec244?ixlib=rb-0.3.5\u0026q=80\u0026fm=jpg\u0026crop=faces\u0026cs=tinysrgb\u0026fit=crop\u0026h=128\u0026w=128\u0026s=f1290bc4749c979efd2800025ecb5b00"
- }, "total_collections": 0, "instagram_username": "thethinblackframe", "total_likes": 4, "total_photos": 63
- }, "current_user_collections": []
- }
- ]
- `;
- const photos = JSON.parse(apiJson);
- function photoBrowserTemplate(photo) {
- const element = document.createElement('article');
- const footer = document.createElement('footer');
- const avatar = document.createElement('span');
- const avatarImage = document.createElement('img');
- const username = document.createElement('h2');
- const rating = document.createElement('span');
- const ratingIcon = document.createElement('i');
- const ratingValue = document.createTextNode(` ${photo.likes}`);
- element.classList.add('photo');
- element.style.backgroundImage = `url(${photo.urls.small})`;
- avatar.classList.add('avatar');
- avatarImage.src = photo.user.profile_image.medium;
- username.innerText = photo.user.name;
- rating.classList.add('rating');
- ratingIcon.classList.add('fa', 'fa-heart');
- element.appendChild(footer);
- footer.appendChild(avatar);
- avatar.appendChild(avatarImage);
- footer.appendChild(username);
- if (photo.user.instagram_username) {
- const social = document.createElement('a');
- const socialIcon = document.createElement('i');
- social.classList.add('social');
- social.href = `https://www.instagram.com/${photo.user.instagram_username}`;
- socialIcon.classList.add('fab', 'fa-instagram');
- footer.appendChild(social);
- social.appendChild(socialIcon);
- }
- footer.appendChild(rating);
- rating.appendChild(ratingIcon);
- rating.appendChild(ratingValue);
- return element;
- }
- // { tag: 'div', content: [' ', { tag: 'div' }] }
- function browserTemplateEngine(block) {
- if ((block === undefined) || (block === null) || (block === false)) {
- return document.createTextNode('');
- }
- if ((typeof block === 'string') || (typeof block === 'number') || (block === true)) {
- return document.createTextNode(block);
- }
- if (Array.isArray(block)) {
- const fragment = document.createDocumentFragment();
- block.forEach(el => {
- fragment.appendChild(browserTemplateEngine(el));
- });
- return fragment;
- }
- const element = document.createElement(block.tag);
- const classes = Array.isArray(block.cls) ? block.cls : [block.cls];
- classes.forEach(cls => {
- if (!cls) return;
- element.classList.add(cls);
- });
- //element.classList.add(...[].concat(block.cls).filter(Boolean));
- if (block.attrs) {
- Object.keys(block.attrs).forEach(key => {
- element.setAttribute(key, block.attrs[key]);
- });
- }
- element.appendChild(browserTemplateEngine(block.content));
- return element;
- }
- browserTemplateEngine({ tag: 'div', content: { tag: 'div' } });
- function photoJSTemplate(photo) {
- return {
- tag: 'article',
- cls: 'photo',
- attrs: { style: `background-image: url(${photo.urls.small})` },
- content: {
- tag: 'footer',
- content: [
- {
- tag: 'span',
- cls: 'avatar',
- content: {
- tag: 'img',
- attrs: { src: photo.user.profile_image.medium }
- }
- },
- { tag: 'h2', content: photo.user.name },
- photo.user.instagram_username && {
- tag: 'a',
- cls: 'social',
- href: `https://www.instagram.com/${photo.user.instagram_username}`,
- content: { tag: 'i', cls: ['fab', 'fa-instagram'] }
- },
- {
- tag: 'span',
- cls: 'rating',
- content: [
- {
- tag: 'i',
- cls: ['fa', 'fa-heart']
- },
- ' ',
- photo.likes
- ]
- }
- ]
- }
- }
- }
- function photoStringTemplate(photo) {
- return `
- <article class="photo" style="background-image: url(${photo.urls.small})">
- <footer>
- <span class="avatar"><img src="${photo.user.profile_image.medium}"></span>
- <h2>${photo.user.name}</h2>` +
- (photo.user.instagram_username ? `<a class="social" href="https://www.instagram.com/${photo.user.instagram_username}">
- <i class="fab fa-instagram"></i>
- </a>` : '') +
- `<span class="rating">
- <i class="fa fa-heart"></i> ${photo.likes}
- </span>
- </footer>
- </article>
- `;
- }
- /*
- document.querySelector('.string-template').innerHTML =
- photos.map(photoStringTemplate).join('');
- */
- const fragment = document.createDocumentFragment();
- photos.forEach(photo => {
- fragment.appendChild(photoBrowserTemplate(photo));
- });
- document.querySelector('.browser-template').appendChild(fragment);
- document.querySelector('.two-steps-template').appendChild(
- browserTemplateEngine(photos.map(photoJSTemplate))
- );
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement