Перейти к содержимому

Как подключить header файл к index html

  • автор:

Как подключить в index.html part файлы(header, footer и т.п.) с помощью Webpack?

Мне необходимо в index.html который обрабатывается HTMLWebpackPlugin добавлять части html из других html файлов. Сборка у меня в связке с галп. Изначально, я собирал в index файл части с помощью gulp-file-include.
Но теперь необходимо, чтобы эти файлы добавлялись вебпаком.
Я попробовал html-loader, со след. структурой:
webpack.config.js

module: < rules: [ < test: /\.(html)$/, include: path.join(__dirname, 'parts'), use: < loader: 'html-loader', options: < interpolate: true >> >, ] >
$  

Main Page

$

Но проблема в том, что на выходе получаю, сначала скомпилированный _header.html, затем, сразу _footer.html и только потом основной контент.
Т.е. есть ли возможность управлять последовательностью?
Второй вопрос, можно ли также передавать переменные в partial, например для уникального title страницы(в документации вроде есть что-то похожее), но с этим можно разобраться.
И есть может быть возможность запускать сначала gulp, а затем вебпак?

Изначальный файл src/index.html c partial из gulp

@@include('parts/_header.html', < "title": "Main Page" >) 

Main Page

@@include('parts/_footer.html')
  • Вопрос задан более трёх лет назад
  • 843 просмотра

Подключаем файл header.php WordPress к index.php

header.php WordPress

Итак, мы предварительно наполнили файл header.php WordPress прописали мета теги, теперь пришла пора подключить его к файлу index.php.

Также добавим сайдбар (sidebar.php) и подвал (footer.php). В итоге у нас получится уже работающий шаблон индексной страницы — index.php файл.

Подключаем файл header.php, sidebar.php, footer.php, к index.php WordPress

Итак, давайте приступим к подключению. Откройте свой рабочий файл index.php и замените все его содержимое, которое есть на этот код:

Мы еще не раз будем менять содержимое файлов, дополнять их различными функциями. Теперь по этому коду вкратце:

Функция get_header(); подключает файл header.php WordPress к шаблонам страниц.

Функция get_sidebar(); подключает файл sidebar.php WordPress к шаблонам страниц.

Функция get_footer(); подключает файл footer.php WordPress к шаблонам страниц.

Более подробная информация по функциям в Кодексе WordPress *

Промежуточный итог работы видно на скриншоте:

Сверху появилась административная панель.
Файл header.php WordPress начал взаимодействовать с файлом index.php WordPress.
Появилось название и описание сайта, которое можно менять.

Начинаем заполнять и подключаем файл sidebar.php WordPress

Теперь открываем файл sidebar.php WordPress и добавляем в него заголовок и пока такой промежуточный код для отладки:

  

— этот кусок кода мы потом уберем, но сейчас для наглядности пусть будет.

sidebar.php WordPress

Как видно из скриншота, sidebar.php WordPress благополучно подключился и заработал.

Начинаем заполнять и подключаем файл footer.php WordPress

Аналогично открываем файл footer.php и прописываем в нем заголовок и отладочное содержание:

  

Подвал сайта

Пояснения по коду:

Подвал сайта

— отладочный код для наглядности. Все, что выше него, естественно, заголовок footer.php.

php wp_footer(); — хук WordPress, к которому потом будут «привязываться» некоторые функции.

— закрывающие HTML документ теги.

Это нужно учитывать

Так как шаблон php страницы состоит из нескольких частей, то при верстке нужно учитывать, что один блок может находиться в нескольких файлах. Проще говоря начало находится в header.php, а окончание в файле footer.php WordPress

footer.php WordPress

Отлично. Наш подвал благополучно подключился и заработал!

Откройте исходный код страницы и посмотрите, что мы уже подключили к ней.

Ну что, подготовительный этап создания собственного уникального шаблона на WordPress закончен! По сути, весь этот процесс занимает не более 5-10 минут, а я уже пол месяца пишу статьи и занятия растянулись уже на пол месяца! Хотя итак материалы стараюсь излагать очень кратко. Не забывайте обязательно обращаться к документации — Кодексу WordPress .

На следующем занятии я уже скину ссылку на HTML шаблон будущего WordPress сайта и мы начнем внедрять уже верстку в макет, параллельно прописывая нужный функционал в файл functions.php. Будем уже создавать дополнительные файлы и шаблоны страниц и записей.

Вот исходники к данной публикации:

В статье использована документация codex.wordpress.org — создание тем WordPress .

— Я специально создал FeedBerner, чтобы вы не пропустили не одной публикации. Вот ссылка на FeedBurner, просто кликните по картинке :

Feed новостей моего сайта почтой

создание сайта на wordpress

Загородный отдых для двоих однодневный романтический тур загородный. Разница между местной и международной доставкой посылок. Как сделать цветочную композицию в корзине dostavka-byketov.ru.

Лучший способ отблагодарить автора

Похожие по Тегам статьи

Продолжаю цикл статей по переносу HTML верстки в WordPress. В прошлом занятии мы первоначально…

Разбираем и наполняем файл index php WordPress, знакомимся с некоторыми функциями и переносим часть…

Итак, мы уже подготовили минимально необходимые файлы для работы нашего учебного сайта. Теперь пришла…

Разделы сайта
  • HTML СSS в примерах
  • Безопасность WordPress
  • Внешний вид и Функционал WP
  • Выбираем домен и хостинг
  • Оптимизация и продвижение
  • Перенос сайта из HTML в WordPress
  • Плагины WordPress
  • Сборник интересных скриптов
  • Сервисы и программы
  • Шаблоны WordPress
  • Юзаем Bootstrap

Как подключить html к html?

Недавно перешел с sublime на VSCode и пока не понимаю, как здесь можно подключить файл header.html к главному файлу index.html. В sublime очень хорошо выручал kit, а здесь почему-то это не работает. Подскажите решение проблемы.

  • Вопрос задан более двух лет назад
  • 848 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 3

  • что даст возможность собирать scss/sass/less
  • «подключать html к html», например при помощи gulp-rigger
  • собирать js
  • прочие радости

gulp.task('html', function () < gulp.src('src/*.html') //Выберем файлы по нужному пути .pipe(rigger()) //Прогоним через rigger .pipe(gulp.dest('dist/')) //Выплюнем их в папку build .pipe(browserSync.reload()); //И перезагрузим наш сервер для обновлений >);

и => ваш собираемый html будет выглядеть так

    Пум-пум  //= template/header.html 
Content
//= template/footer.html

стоит заметить что при использовании browsersync страница будет обновляться при изменении стилей и html templat’ов

Самые простые способы интеграции HTML

Меня всегда удивляло то, что в HTML нельзя подключать другие HTML-файлы. Вот если бы можно было так:

HTML

  Content  

Но приведенный выше код не работает.

Многие решают данную проблему с помощью других языков программирования.

Используем PHP

Может, стоит применять PHP?

  Content 

Код, приведенный выше, обеспечивает подключение на уровне сервера. Запрос будет выполнен в файловой системе на сервере. Поэтому этот способ намного быстрее, чем решение, реализуемое на стороне клиента.

Используем Gulp

Еще быстрее работает предварительная обработка подключения. У Gulp есть множество плагинов для этого. Один из них –gulp-file-include.

Посмотрите код ниже:

 @@include('./header.html') Content @@include('./footer.html') 
var fileinclude = require('gulp-file-include'), gulp = require('gulp'); gulp.task('fileinclude', function() < gulp.src(['index.html']) .pipe(fileinclude(< prefix: '@@', basepath: '@file' >)) .pipe(gulp.dest('./')); >);

С помощью этого плагина можно передавать переменные в подключение, что позволяет создавать небольшие компоненты на основе данных.

Используем Grunt

Вот что делает плагин grunt-bake. Настройте Grunt для обработки HTML:

grunt.initConfig( < bake: < your_target: < files: < "dist/index.html": "app/index.html", >> > >);

Тогда HTML сможет использовать специальный синтаксис для подключений:

  Content

Используем Handlebars

У Handlebars есть шаблоны (partials). Их необходимо зарегистрировать:

Handlebars.registerPartial('myPartial', '>')

Теперь их можно использовать:

 myPartial >>

В Handlebars также доступны средства для оценки и передачи данных. Чтобы запустить их, понадобится плагин типа gulp-handlebars.

Используем Pug

Pug – это препроцессор HTML с новым, более сжатым синтаксисом. Но он использует расширения (includes).

body include ./header.html" p Content include ./footer.html"

Запустите код, приведенный выше, с помощью gulp-pug.

Используем Nunjucks

Nunjucks тоже содержит расширения. Используйте следующий код:

  Content 

Если поместить код в файл index.njk, то его можно обработать с помощью простого скрипта Node в index.html:

const nunjucks = require("nunjucks"); const fs = require("fs"); fs.writeFile("index.html", nunjucks.render("index.njk"), function(err, data) < if (err) console.log(err); console.log("Compiled the Nunjucks, captain."); >);

Также этот код можно обработать с помощью gulp-nunjucks.

Используем Ajax

Допустим, ваш документ выглядит следующим образом:

 Content. 

Можно вывести контент для шапки и подвала из соответствующих шаблонов.

fetch("./header.html") .then(response => < return response.text() >) .then(data => < document.querySelector("header").innerHTML = data; >); fetch("./footer.html") .then(response => < return response.text() >) .then(data => < document.querySelector("footer").innerHTML = data; >);

Если вы создаете сайт, используя фреймворк JavaScript, то применяйте компоненты.

Используем iframes

Используйте код, приведенный ниже:

  Content.  

Обратите внимание, что контент в iframes использует разные DOM. Поэтому код выглядит немного странно.

Но можно заставить iframe вывести свое содержимое на родительской странице, а затем удалить «самого себя».

 Content. 

Используем Jekyll

Jekyll – это генератор статических сайтов на основе Ruby с включениями. Они сохраняются в папке /_includes/, а затем:

  Content.

Существует еще множество генераторов статических сайтов. Многие из них поддерживают подключение внешних HTML-файлов.

Используем Sergey

Есть еще один генератор статических сайтов (SSG), который стоит упомянуть. В Sergey есть формат стиля веб-компонентов:

  Content. 

Назовите файлы header.html и footer.html и поместите их в /includes/ . В этом случае Sergey выполнит сборку с обработанными подключениями, когда вы запустите скрипт npm.

Используем Apache SSI

Apache также поддерживает подключения. Введите код, приведенный ниже:

  Content 

Но вам понадобится правильная конфигурация Apache, чтобы все действия были разрешены. Я старался изо всех сил, чтобы найти рабочую демоверсию, но не смог.

Options +Includes AddType text/html .html AddOutputFilter INCLUDES .html

Используем CodeKit

CodeKit включает в себя специальный язык Kit, 90% функций которого необходимы только для подключений. Kit использует специальные комментарии в HTML:

  Content 

Заключение

Не уверен, что , которые запускают сетевые запросы во всем коде, станут хорошим решением с точки зрения производительности. Использование импорта ES6 напрямую без сборки — тоже не всегда хорошая идея. @import (импорт) CSS в CSS не всегда хорошая идея, но такая возможность есть.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *