我通过构建自己的个人网站来学习HTML,CSS和内容管理,但是我在这些领域的任何一个很少的经验。困扰我的一件事是我必须重复一段" HTML代码"的数量。例如,在我的网站上,我可能有一个看起来像:
的块<div class="talk">
<a href="link">
title
<div class="info">
subtext
</div>
</a>
</div>
link, title
和 subtext
是更改的唯一元素。作为程序员,这看起来像一个具有三个参数的函数: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等)将不可用。另一方面,您可以使用命令行参数和环境变量。