像功能一样重复一个HTML块



我通过构建自己的个人网站来学习HTML,CSS和内容管理,但是我在这些领域的任何一个很少的经验。困扰我的一件事是我必须重复一段" HTML代码"的数量。例如,在我的网站上,我可能有一个看起来像:

的块
<div class="talk">
  <a href="link">
    title
    <div class="info">
      subtext
   </div>
  </a>
</div>

link, titlesubtext是更改的唯一元素。作为程序员,这看起来像一个具有三个参数的函数:talk(link, title, subtext),我将通过保留所有条目的单独的文本文件或数据库来实现此目标,并将一个"编译"数据和HTML格式化为最终产品"编译"数据。实际上,这就是我现在使用一个简单的Python脚本和美丽的套件来做的。但是我有一种感觉,有一些工具, ,但是有很多选择和系统,我什至不确定我在寻找什么准确(咕unt,鲍尔,红宝石在轨道上,sass,hmal,车把,...)。这不是提出建议的要求,可接受的答案可能涉及任何框架,但我更喜欢简单性而不是权力。

什么是规范/标准方法?什么是最小的工作示例,使用上面的代码块?

由于您要求一个实时示例,这是PHP中的一个:

news_print.php

function output_some_news ($link, $title, $subtext)
{
    echo
"<div class='talk'>
     <a href='$link'>
         $title
        <div class='info'>
            $subtext
       </div>
     </a>
 </div>";
}
// this is just for show. Usually the data come from a database or data file
$topics = array (
    array ("http://celebslife.com", "Breaking news", "Justin Bieber just grew a second neuron"),
    array ("http://nerds.org"     , "New CSS draft available", "We won't be forced to use idiotic lists to implement menus in a foreseeable future"));
function output_news ($topics)
{
    foreach ($topics as $topic)
    {
        output_some_news  ($topic[0], $topic[1], $topic[2]);
    }
}

以及从您的HTML页面中:

news.php

<?php include 'news_print.php'; ?>
<div class='news'>
    <?php output_news($topics); ?>
</div>

对于使用PHP作为预处理器,它非常简单:

C:devphpnews> php news.php > news.html

将从您的PHP脚本中产生纯HTML。

PHP引擎将从命令行而不是Web服务器调用,其输出将存储在文件中,而不是发送回浏览器,仅此而已。

当然,您会有一些差异。例如,如果您使用php offline,则所有特定于网络的信息(例如呼叫者URL,cookie等)将不可用。另一方面,您可以使用命令行参数和环境变量。

最新更新