我最近开发了几个ASP.NET应用程序,它的HTML布局的简单性让我着迷。
基本上有一个布局文件,您可以在其中编写所有静态HTML、CSS、JS,或者任何在所有页面上保持不变的东西。然后,还有内容页面,您只在其中写入页面的内容。
例如,您有一个about.cshtml文件,它看起来像这样:
<h1>My name</h1>
<p>I am a junior web developer... etc</p>
<p>Contact me at example@gmail.com</p>
这是about内容页面所需的所有信息,当请求时,它将插入到布局页面中。
所以,我的问题是:
有没有现成的工具可以通过html、javascript或php实现这一点?我发现自己通过ajax调用实现了它,但这实际上只是浪费资源,必须异步加载我拥有的所有html文件。
对于纯HTML,您可以使用static site generator
。例如:
- 杰基尔
- 鹈鹕
在Pelican中,你有一个base.html
模板,它包含了你想出现在所有页面上的所有内容,所以页眉和页脚等(这些也可以称为.header.html
,然后在main.html
模板中引用。
页面内容在Markdown中写入,并放入名为posts
或pages
的文件夹中,然后运行generate
命令,它将为您输出所有html
。
页面可以这样写:
{% extends "base.html" %}
{% block title %}{{ page.title }}{%endblock%}
{% block content %}
<h1>{{ page.title }}</h1>
{% import 'translations.html' as translations with context %}
{{ translations.translations_for(page) }}
{{ page.content }}
{% endblock %}
因此,它扩展了base.html
模板。
进一步阅读:
Pelican:一个静态博客生成器蟒蛇
Pelican-获得启动
检查模型-视图-控制器