Kodomo

Пользователь

Учебная страница курса биоинформатики,
год поступления 2018

Netbox открывает не мою домашнюю папку, а что-то странное, что делать?

По-умолчанию Netbox открывает на kodomo не вашу домашнюю папку, а корневой каталог. Чтобы добраться до домашней папки Вам нужно зайти в папку home/students/y18/.

Валидатор нашёл несколько лишних </p>, но они точно не лишние, в чем дело?

Скорее всего, Вы неправильно используете <p>. Этот тег должен ограничивать абзац текста. А внутри абзаца текста не могут содержаться другие абзацы, списки, разрывы контекста (<hr />) и вообще любые блочные элементы. Внутри <p> можно использовать только inline элементы, например, текст, картинки <img />, ссылки <a>, строковые контейнеры <span>, метки форматирования или семантического выделения текста (<b>, <strong>, <i>, <em> и т.д.), разрыв строки <br />.

Браузер ругается именно на закрывающие теги вот по какой причине. По стандарту, тег <p> закрывать не обязательно (хотя я Вам все-таки советую). Поэтому браузер (или валидатор) заканчивает абзац не только, когда встречает </p>, но и перед любым блочным элементом, ведь ему в абзаце не место. После этого новый абзац сам собой не открывается, и когда браузер (или валидатор) позже встречает </p>, то ругается, ведь закрывать ему нечего.

Вообще есть общее правило. Блочные элементы (если, конечно, они не пустые, как, например, <hr />) могут содержать любые блочные и строковые элементы. А строковые элементы могут содержать только строковые. Тег <p> - одно из исключений. Он, как я уже упоминал, может содержать только строковые элементы, хоть и является блочным.

Почему не работают ссылки на почту вида mailto:login@mail.dom?

Наверно, они на самом деле работает, просто не так, как Вы ожидаете. У таких ссылок поведение отличается от обычных ссылок, при нажатии на такую ссылку браузер пытается открыть почтовый клиент на вашем компьютере, чтобы Вы могли написать письмо. Но установленный и настроенный почтовый клиент - достаточно большая редкость. Для проверки/написания почты люди обычно просто используют веб-интерфейс почтового сервиса.

Вообще использовать ссылки на почту в таком виде опасно. Потому что спамеры часто автоматически парсят такие адреса на HTML страничках. Учитывая, что реально люди редко используют почтовые клиенты, нет особой необходимости указывать адрес почты в виде такой ссылки. Лучше просто написать его текстом на страничке. Правда это тоже опасно, потому что и в текстовом виде адрес почты легко найти на странице автоматически. Поэтому люди придумали кучу всяких ухищрений. Например, можно замаскировать адрес, заменив @ на что-нибудь, что будет понятно людям, но будет усложнять автоматический поиск адреса. Или вставить адрес в виде картинки. Или использовать какой-нибудь простенький скрипт на JS. В интернете куча советов для разного уровня паранойи. Можете выбрать что-то для себя.

На всякий случай напоминаю, личную почту на странице указывать необязательно, достаточно той, которая login@fbb.msu.ru.

Валидатор ругается на атрибут width="10%" у тега img, что делать?

Прошу прощения, тут я немного отстал от жизни. У атрибутов width и height тега img (и некоторых других) поменялось назначение в новой версии HTML (которая 5). Контроль за реальными размерами картинки все-таки уполз в CSS, как его задавать там расскажу на занятии. А атрибуты width и height теперь действительно можно задавать только целыми числами, имея в виду пиксели (px). Назначение этих атрибутов - указать браузеру на размеры изображения до того, как он его загрузит. Дело в том, что картинки часто весят сильно больше, чем остальная часть странички. Чтобы правильно сформировать страницу браузеру надо знать размеры всех элементов. Но ждать загрузки всех изображений он не может. Поэтому браузер сначала форматирует страницу, предполагая какие-то стандартные размеры изображений, а потом меняет расположение элементов, если размер загруженной картинки оказывается не таким, как он ожидал. Из-за этого у страниц с картинками может наблюдаться неприятное переползание элементов в процессе загрузки. Так вот, чтобы этого избежать, используют атрибуты width и height. В этом случае браузер заранее оставит на картинку правильное количество места, и никаких переползаний в процессе загрузки не будет. Поэтому width и height имеет смысл указывать только оба вместе (что прямо противоположно тому, что я говорил на занятии), и либо ровно такими, какие они есть на самом деле, либо промасштабированными пропорционально, если Вы хотите, чтобы картинка изображалась не со своим реальным разрешением. Причем реально width и height используются браузером, только если размеры не заданы в CSS, или если в CSS указан только один из размеров (по крайней мере должны бы, проверю).

Выход для Вас такой, пока я не рассказал про CSS, можете либо использовать размеры в пикселях (по стандарту), либо в процентах (браузеры Вас почти наверняка поймут, потому что предыдущий стандарт это допускал), при проверке на это обращать внимание не буду.

Как сделать ссылку на файл на моём домашнем компьютере?

На вашем домашнем компьютере нет HTTP(S) сервера, поэтому любые файлы на вашем компьютере доступны только локально, через интернет до них достучаться нет никакой возможности. Все файлы, которые Вы хотите сделать доступными через интернет, Вам нужно загрузить в папку public_html (или какие-то её подпапки) на kodomo (на kodomo HTTP(S) сервер есть).

По какому адресу в интернете доступны файлы, которые лежат на kodomo в папке public_html?

Любой файл (HTML страничка, картинка, или что-то еще), который лежит внутри папки public_html на kodomo, доступен через интернет по адресу https://kodomo.fbb.msu.ru/~YOUR-KODOMO-LOGIN/RELATIVE-PATH, где YOUR-KODOMO-LOGIN - ваше пользовательское имя на kodomo, а RELATIVE-PATH - это адрес необходимого файла относительно папки public_html. То есть если, например, у Вас есть файл page.html на kodomo в папке /home/students/y18/YOUR-KODOMO-LOGIN/public_html/folder1/folder2/folder3, то его адрес в интернет будет https://kodomo.fbb.msu.ru/~YOUR-KODOMO-LOGIN/folder1/folder2/folder3/page.html.

Если путь заканчивается на названии папки, т.е., например, https://kodomo.fbb.msu.ru/~YOUR-KODOMO-LOGIN или https://kodomo.fbb.msu.ru/~YOUR-KODOMO-LOGIN/folder1/folder2/folder3, то HTTP сервер проверяет, есть ли в этой папке файл, который называется index.html. Если его там нет, то сервер посылает браузеру содержание папки, в этом случае в браузере открывается нечто похожее не проводник Windows. Но если index.html там есть, то HTTP сервер посылает браузеру именно его. Используя этот принцип, Вы можете ссылаться на главную страницу своего сайта и на страницу первого семестра, не указывая на конце адреса название файла index.html. Это работает и для относительных путей.

Как в коде страницы сослаться на файл, который лежит в папке public_html?

Все эти файлы доступны по абсолютному адресу (как описано выше). Но абсолютные адреса нужно использовать в коде страницы только в том случае, если Вы хотите сослаться на файл, который лежит на другом сервере. Для того, чтобы сослаться на файл, который тоже лежит в папке public_html (или её подпапках), нужно использовать относительный адрес, т.е. адрес относительно той HTML страницы, на которой он указан. Например, если у Вас внутри public_html есть файлы page.html и another_page.html, и Вы хотите со страницы page.html сослаться на another_page.html, то ссылка должна иметь вид <a href="another_page.html">Другая страница</a> (без указания протокола http(s), без названия машины и т.д.). Если another_page.html лежит внутри какой-то вложенной папки, то адрес будет folder_name/another_page.html. Если, наоборот, внутри родительской папки, то ../another_page.html (две точки - это специальное обозначение родительской папки, Вы с этим уже сталкивались в Far, помните?). Указывать относительный адрес гораздо правильнее (где это возможно, конечно). Потому что обращение к файлам по относительным адресам происходит гораздо быстрее, без петли со входом в интернет.