我正在尝试手动更新所有静态 HTML 文件

I am trying manually update all static HTML files

我现在有一个关于静态 HTML 的项目,有两种语言,我必须自己管理一切。 因此,如果 header/footer 中出现新内容,我必须更新 20 HTML 个文件。

此外,此项目托管在普通共享主机上。 如果我必须改变某些事情,我怎样才能减轻痛苦? 现在我只是在 sublime 文件夹中批量 find/change。

P.S I can't use any CMS. Must be static.

建议一:

P.S I can't use any CMS. Must be static.

您可以根据需要使用Jquery加载您在各自位置的文件。

.load( url [, data ] [, complete ] )

说明:从服务器加载数据,并将返回的HTML放入匹配的元素中。

注意:事件处理套件还有一个名为 .load() 的方法。 jQuery 根据传递给它的参数集确定触发哪个方法。

参考:http://api.jquery.com/load/

$(document).ready(function() {
    $('#some-menu').load('some-local-path/menu.html');
});

只要你能得到你给的DIV的ID,然后它就会把数据加载到那个地方,你可以动态地改变它。

<html>
<body>
<div id="some_menu">
<!-- Loads the Menu Part Over Here -->
</div>
<script>
$(document).ready(function() {
        $('#some-menu').load('some-local-path/menu.html');
        // Like wise you can load up all the data that you need over here and place the necessary div over to the HTML.
});
</script>
</body>
</html>

If it is not a static you can follow up with the below one as i have mentioned using the PHP.

替代参考:

最好使用 PHP,因为它支持很棒的功能,您可以使用 PHP.

创建自己的 CMS

更清晰的解释

  • 查找您网站上的静态项目,它必须显示在所有页面中。
  • 复制它们并放入各自的文件中,即 header.php 中的页眉和 footer.php 中的页脚等等,然后您需要单独做一件事。
  • 您需要包括您提供的所有文件,这就是诀窍。

整个页面看起来像。

<html>
<head>Title of the Page</head>
<?php include 'scripts.php'; ?>
<body>
<?php include 'header_menu.php'; ?>
// Page content
<?php include 'sidebar.php'; ?>
//Page Contents    
<?php include 'footer.php'; ?>
</body>
</html>

Like this way you can do it for your header,footer and whatever files you need to do so and if you update the single file alone it will be replicating in all the files even tones of files you have.

基本包含示例

include() 语句包含并评估指定的文件。

include 命令只是将指定文件中存在的所有文本复制到使用include 命令的文件中。当您想要在网站的多个页面上包含相同的 PHP、HTML 或文本段时,包含非常有用。 include 命令被 PHP 网络开发人员广泛使用。与 PHP Echo 一样,include 不是函数,而是语言结构。

vars.php

<?php
$color = 'green';
$fruit = 'apple';
?>

test.php

<?php
echo "A $color $fruit"; // A
include 'vars.php';
echo "A $color $fruit"; // A green apple
?>

将 header 的 HTML 内容放入 PHP 文件中,并将其包含在每个页面中,如下所示:

<?php include('header.php'); ?>

这样您只有一个文件 (header.php) 可以编辑。

有关 include() 的更多详细信息,请访问:http://php.net/manual/en/function.include.php

因为它必须是静态的,你可能不能使用 PHP。

适用于 现代浏览器 的替代方法是使用 Javascript 包含来自另一个文件的页眉和页脚。

您有多种选择,一种是using jQuery load()。包含 resources 文件夹中包含的两个文件的示例:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Demo load for header and footer</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
    <div id="header"><!-- HEADER COMES HERE --></div>

    <!-- Main content comes here -->

    <div id="footer"><!-- FOOTER COMES HERE --></div>

    <script>
    $(document).ready(function() {
        $( "#header" ).load( "/resources/header.html" );
        $( "#footer" ).load( "/resources/footer.html" );
    }
    </script>

</body>
</html>

请考虑 后备,方法是使用 javascript 未启用时将显示的内容填充 #header 和 #footer div。如果 load() 不起作用,也可以考虑回退(查看文档,有一个例子)。

据我了解,如果您想在静态网络中管理许多 HTML 文件,我认为您需要一个 HTML 模板。

我建议使用“http://handlebarsjs.com/”,您也可以在静态页面中使用它。

希望对您有所帮助。