forked from urfu-2015/verstka-tasks-2
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Sergey Gogolev
committed
Oct 8, 2015
1 parent
75d5088
commit d8b536b
Showing
9 changed files
with
255 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
root = true | ||
|
||
[*] | ||
charset = utf-8 | ||
end_of_line = lf | ||
indent_size = 4 | ||
indent_style = space | ||
insert_final_newline = true | ||
trim_trailing_whitespace = true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
.DS_Store | ||
.git | ||
.idea | ||
node_modules | ||
npm-debug.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
language: node_js | ||
node_js: | ||
- 4.1.2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,135 @@ | ||
# verstka-tasks-2 | ||
# Задача к лекции «HTML, II часть» – «Бабуленькин сервант» | ||
|
||
:sos: [Как создать Pull Request](https://github.com/urfu-2015/guides/blob/master/how-to-pull-request.md) | ||
:warning: При создании PullRequest'а не забудьте указать ваши имя и фамилию. | ||
|
||
### Общие требования | ||
|
||
Мы очень хотим, чтобы код вы написали сами, а не пользовались внешними библиотеками. | ||
|
||
Прежде чем отправлять решение проверьте его на соответствие [общим требованиям](https://github.com/urfu-2015/guides/blob/master/html-codestyle.md). | ||
|
||
Когда вы создадите или обновите пулл-реквест – он частично будет проверен | ||
автоматически. Результаты вы увидите внизу: | ||
|
||
Если всё плохо: | ||
<img width="308" alt="2015-10-08_1845" src="https://cloud.githubusercontent.com/assets/4534405/10368030/ccc43228-6dec-11e5-925e-47793862d13e.png"> | ||
|
||
Если всё хорошо: | ||
<img width="218" alt="2015-10-08_1841" src="https://cloud.githubusercontent.com/assets/4534405/10367916/60487fc8-6dec-11e5-9e1d-2a1b15da2220.png"> | ||
|
||
|
||
Проверить HTML можно и вручную на соответствие вручную требованиям можно так: | ||
```sh | ||
# Устанавливаем проверяльщик | ||
npm install | ||
|
||
# Проверяем | ||
npm test | ||
|
||
# В результате выведутся ошибки, если они есть. | ||
# Если какие-либо ошибки будут не понятны – смело спрашиваем у ментора. | ||
``` | ||
|
||
В помощь вам, мы разместили файл `.editorconfig`. Этот файл содержит базовые | ||
правила оформления кода (codestyle), понятные для большинства редакторов. | ||
Прочитайте [о нём подробнее](https://github.com/urfu-2015/guides/blob/master/editorconfig.md). | ||
|
||
### Задача | ||
|
||
У моей бабуленьки есть старый сервант, где она хранит старые книги и видеокасеты | ||
с фильмами. Она бы хотела разместить информацию о них в «этих ваших интернетах», | ||
чтобы обмениваться с бабуленьками других внучков. | ||
|
||
Итак, у нас есть информация в виде текста о текущих книгах и фильмах. Вам необходимо: | ||
- разметить его **без использования CSS**; | ||
- дополнить книгу красивой обложкой, а автора – фотографией; | ||
- фильмы дополнить трейлерами; | ||
- внизу обязательно разместить удобную форму для добавления новых книг и фильмов; | ||
- * возможно, к книгам вы захотите разместить аудио-версию, а к фильмам субтитры. | ||
- * по некоторым книгам могут быть сняты фильмы ;) | ||
|
||
Собственно, текст (тщательно записанный со слов бабуленьки): | ||
|
||
```text | ||
- Война и мир. | ||
Тип: Книга | ||
Издательство: АСТ, Астрель | ||
ISBN: 5-17-006400-4,978-5-17-006400-7 | ||
Год: 1867 г | ||
Тип издания: Авторский сборник | ||
Язык: Русский | ||
Страниц: 704 стр. | ||
Формат: ePub | ||
Переплет: Твердый переплет | ||
Дата размещения: 8 котобря 2015 | ||
Жанр: Русская классика, Литература 19 века | ||
URL: http://babulenkin-servant.com/books/war_and_peace.epub | ||
Описание: Великий роман-эпопея Льва Толстого чудесным образом, как огромная | ||
мозаика, сложен из тысяч картин - батальных, бальных, любовных, бытовых, | ||
политических, философских, портретных, пейзажных, психологических... | ||
Автор: Лев Николаевич Толстой | ||
Дата рождения: 16 августа 1828 | ||
Дата смерти: 7 ноября 1910 | ||
Место рождения: Ясная Поляна, Тульская губерния, Российская империя | ||
Род деятельности: прозаик, публицист, философ | ||
- Harry Potter and the Sorcerer's Stone | ||
Тип: Книга | ||
Издательство: АСТ, Астрель | ||
ISBN: 978-0439708180 | ||
Год: 1998 г | ||
Язык: English | ||
Страниц: 309 стр. | ||
Формат: pdf | ||
Переплет: Мягкий переплет | ||
Дата размещения: 4 котобря 2015 | ||
Жанр: Fantasy, Adventure, Kids & Family | ||
URL: http://babulenkin-servant.com/books/potter.pdf | ||
Описание: Harry Potter has no idea how famous he is. That's because he's | ||
being raised by his miserable aunt and uncle who are terrified Harry will | ||
learn that he's really a wizard, just as his parents were. | ||
Автор: J. K. Rowling | ||
Дата рождения: 31 июля 1965 | ||
Дата смерти: – | ||
Место рождения: Глостершир, Англия | ||
Род деятельности: прозаик | ||
URL: jkrowling.com | ||
Адрес: 50 Bedford Square, London | ||
Email: [email protected] | ||
- Titanic | ||
Тип: Фильм | ||
Год: 1997 | ||
Страна: США | ||
Слоган: «Ничто на Земле не сможет разлучить их» | ||
Режиссер: Джеймс Кэмерон | ||
Сценарий: Джеймс Кэмерон | ||
Продюсер: Джеймс Кэмерон, Джон Ландау, Памела Исли | ||
Оператор: Рассел Карпентер | ||
Композитор: Джеймс Хорнер | ||
Художник: Питер Ламонт, Мартин Лэйн, Чарльз Дуайт Ли | ||
Монтаж: Конрад Бафф IV, Джеймс Кэмерон, Ричард А. Харрис | ||
Жанр: драма, мелодрама | ||
Дата размещения: 1 котобря 2015 | ||
URL: http://babulenkin-servant.com/films/titanic.mp4 | ||
Описание: Молодые влюбленные Джек и Роза находят друг друга в первом и | ||
последнем плавании «непотопляемого» Титаника. Они не могли знать, что | ||
шикарный лайнер столкнется с айсбергом в холодных водах Северной Атлантики, | ||
и их страстная любовь превратится в схватку со смертью. | ||
Автор: Джеймс Кэмерон | ||
Дата рождения: 16 августа 1954 | ||
Дата смерти: – | ||
Место рождения: Капускасинг, Онтарио, Канада | ||
Род деятельности: продюсер, режиссер, сценарист, актер | ||
А ЗДЕСЬ ФОРМА ДОБАВЛЕНИЯ НОВЫХ КНИГ И ФИЛЬМОВ | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
<html> | ||
<!-- Ваш замечательный код --> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
{ | ||
"private": true, | ||
"scripts": { | ||
"test": "mocha" | ||
}, | ||
"dependencies": { | ||
"mocha": "^2.3.3", | ||
"should": "^7.1.0" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
'use strict'; | ||
|
||
require('should'); | ||
|
||
var html = require('./getHtml'); | ||
var tags = require('./getUniqTags'); | ||
|
||
describe('Запрещенные теги.', function () { | ||
it('Не должно быть тега <i>', function () { | ||
(tags.indexOf('i') === -1).should.be.eql(true); | ||
}); | ||
|
||
it('Не должно быть тега <b>', function () { | ||
(tags.indexOf('b') === -1).should.be.eql(true); | ||
}); | ||
|
||
it('Не должно быть тега <font>', function () { | ||
(tags.indexOf('font') === -1).should.be.eql(true); | ||
}); | ||
|
||
it('Не должно быть тега <center>', function () { | ||
(tags.indexOf('center') === -1).should.be.eql(true); | ||
}); | ||
|
||
it('Не должно быть тега <marquee>', function () { | ||
(tags.indexOf('marquee') === -1).should.be.eql(true); | ||
}); | ||
|
||
it('Не должно быть тега <u>', function () { | ||
(tags.indexOf('u') === -1).should.be.eql(true); | ||
}); | ||
|
||
it('Не должно быть тега <s>', function () { | ||
(tags.indexOf('s') === -1).should.be.eql(true); | ||
}); | ||
}); | ||
|
||
describe('Сodestyle.', function () { | ||
it('Не должно быть табуляций.', function () { | ||
var hasTabs = /\t/.test(html); | ||
|
||
if (hasTabs) { | ||
console.warn('Вместо табуляций следует использовать 4 пробела на 1 уровень вложенности.') | ||
} | ||
|
||
hasTabs.should.be.eql(false); | ||
}); | ||
|
||
describe('Запрещенные атрибуты элементов.', function () { | ||
it('Не должно быть атрибута style.', function () { | ||
/\<[-\w\'\"\=\s]+style\s*=[-\w\'\"\=\s]*\>/.test(html).should.be.eql(false); | ||
}); | ||
|
||
it('Не должно быть атрибута border у <table> и <td>.', function () { | ||
/\<\s*(table|td)[-\w\'\"\=\s]+border\s*=(\'|\"|\d)+[-\w\'\"\=\s]*\>/.test(html).should.be.eql(false); | ||
}); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
'use strict'; | ||
|
||
require('should'); | ||
|
||
var fs = require('fs'); | ||
var files = fs.readdirSync('.'); | ||
|
||
files = files.filter(function (file) { | ||
return fs.statSync(file).isFile() && /\.html$/.test(file); | ||
}); | ||
|
||
describe('Кол-во html файлов', function () { | ||
it('Должен быть один html-файл в проекте', function () { | ||
files.length.should.be.eql(1); | ||
}); | ||
}); | ||
|
||
module.exports = fs.readFileSync(files[0], 'utf-8'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
'use strict'; | ||
|
||
var html = require('./getHtml'); | ||
var tags = []; | ||
|
||
html.match(/\<\s*[a-z]+/ig).forEach(function (tag) { | ||
tag = tag.replace('<', ''); | ||
|
||
if (tags.indexOf(tag) === -1) { | ||
tags.push(tag); | ||
} | ||
}); | ||
|
||
module.exports = tags; |