Как уже было сказано, обычно это делается на стороне сервера с включением для не AJAX-сайтов. Тем не менее, я думаю, что вы можете использовать шаблоны закрытия Google. По сути, вы определяете шаблон на языке шаблонов, который генерирует функцию javascript, которую вы можете вызывать для отображения вашего HTML.
http://code.google.com/closure/templates/docs/helloworld_js.html
Пример:
--templates.soy
{namespace templates}
{template .nav}
<ul id="navbar">
<li><a href="biosketch.html">Biosketch</a></li>
<li><a href="projects.html">Class Projects</a>
<ul>
<li><a href="projects.html#SeniorProject">Senior Project</a></li>
<li><a href="projects.html#WindTurbine">Wind Turbine</a></li>
</ul>
</li>
<li><a href="#">Resume</a></li>
<li><a href="#">Work Experience</a></li>
<li><a href="#">Contact Me</a></li>
</ul>
{\template}
Затем вы запускаете следующую команду, чтобы скомпилировать ее в функцию JavaScript
java -jar SoyToJsSrcCompiler.jar --outputPathFormat templates.js templates.soy
Это создаст файл с именем templates.js, содержащий функцию templates.nav, которую вы можете вызвать со своей страницы, как показано ниже:
document.getElementById('navbar').innerHTML = templates.nav();
Это даже не использует объединение данных, которое позволит вам передать объект данных для рендеринга HTML, который не является статичным. Но я только показал вам это, так как это все, что вы просили. Я знаю, что вы можете просто вставить html в строку JS, но вам придется справиться с отсутствием синтаксической справки в вашем редакторе.
Единственный недостаток заключается в том, что для этого требуется JS, который, похоже, вам не нужен. Однако, если вы хотите поддерживать клиенты без JS, вы можете сгенерировать шаблон на стороне сервера. Существует также компилятор, который генерирует методы закрытия Java google. Вы можете посмотреть его на их сайте.
Надеюсь, это поможет.