Статические сайты и контент
Markdown, шаблоны, темы, оглавления, поиск, пагинация, таблицы, примеры кода, ресурсы и локальная сборка.
Материалы
- Курсы по веб-разработке и развитию сайта
95 последовательных учебных серий. Всего 1664 урока по веб-разработке, продвижению, инструментам, Web3 и карьере.
- Статический сайт из Markdown
Последовательно создаём библиотеку статей: от первой HTML-страницы до каталога, поиска и публикации на Beget. Сохраняем постоянные адреса и отделяем материалы от оформления.
- Статический сайт из Markdown: первая сборка HTML
Первый урок серии «Статический сайт из Markdown»: создаём исходник, собираем HTML на Python и проверяем изменение страницы после пересборки.
- YAML front matter в Markdown: заголовок и описание статьи
Добавляем метаданные в тот же Markdown-исходник: отделяем YAML от текста, проверяем типы и подставляем название и описание в HTML.
- Статический сайт: несколько страниц и постоянные URL
Собираем несколько Markdown-файлов по явным permalink, исключаем черновики и обнаруживаем небезопасные и повторяющиеся адреса до записи HTML.
- Шаблоны статического сайта: общий хедер и футер
Выносим HTML-оболочку, хедер и футер в общие файлы и добавляем простой шаблонизатор, который сохраняет примеры кода внутри Markdown.
- Ресурсы статического сайта: CSS, изображения и структура папок
Подключаем общий CSS и SVG к учебному статическому сайту, копируем ресурсы при сборке и разбираем адреса на вложенных страницах.
- Markdown: таблицы, блоки кода и сохранение HTML-разметки
Переносим собственную учебную HTML-страницу в Markdown, сохраняем сложную таблицу и якоря, оставляем прежний адрес с расширением PHP.
- Каталог статей из Markdown: рубрики и метаданные
Строим разделы, темы и страницы проектов из метаданных Markdown, сохраняя единственный постоянный адрес каждой статьи.
- Пагинация статического сайта: порядок уроков и переходы
Задаём учебную последовательность отдельно от каталога, создаём ссылки на предыдущий и следующий урок и обрабатываем границы серии.
- Поиск на статическом сайте без серверного обработчика
Девятый урок серии: создаём поисковый индекс при сборке и ищем по Markdown-статьям в браузере без PHP и базы данных.
- SEO статического сайта: canonical, robots.txt и sitemap.xml
Десятый урок серии: задаём домен, формируем canonical, управляем noindex и создаём sitemap.xml из общего реестра страниц.
- Обновление сайта: проверка сборки и сохранение старых URL
Одиннадцатый урок серии: проверяем старые URL, ссылки, ресурсы, пагинацию и карту сайта; готовим ручную проверку в GitLab CI.
- Деплой статического сайта на Beget: публикация и HTTP-проверки
Заключительный урок серии: готовим резервную копию, проверяем статическую выдачу старых .php URL на тестовом домене и планируем переключение с откатом.
- Поиск по сайту
Строим поиск по учебной библиотеке: готовим данные из Markdown, индекс, ранжирование и интерфейс. Затем переходим к серверному API, семантическому и гибридному поиску.
- Поиск по сайту: требования к результатам
Как определить задачи поиска, подготовить контрольные запросы и различать качество результатов и скорость.
- Поисковый индекс из Markdown: подготовка данных
Как экспортировать опубликованные Markdown-материалы для поиска, сохранить старые URL и исключить черновики.
- Поиск на JavaScript: первые результаты в браузере
Как загрузить JSON с материалами, выполнить поиск подстроки и безопасно показать результаты в браузере.
- Поисковый индекс сайта: структура и поля документов
Как построить инвертированный индекс и находить документы по нескольким словам запроса.
- Ранжирование поиска по сайту: порядок результатов
Как упорядочить результаты по совпадениям в заголовке, разделах и тексте и проверить влияние весов.
- Поиск по русскому тексту и техническим терминам
Как согласованно обработать русский текст, C#, .NET и проверенные словоформы в документах и запросах.
- Опечатки и синонимы в поиске по сайту
Как расширять запрос синонимами и небольшими исправлениями, сохраняя точность технических терминов.
- Поиск по сайту: фильтры и пагинация результатов
Как фильтровать результаты до разбивки на страницы и сохранять правильный общий счётчик.
- Дизайн страницы поиска: форма, результаты и пустое состояние
Как сохранить запрос в URL, различать состояния поиска и защитить интерфейс от запоздавших ответов.