我已经为 Pelican 创建了自己的主题,并且已经使用它来构建我的网站有一段时间了。我决定再次开始写博客,所以我现在才向网站添加博客功能。
我已经创建了自己的blog.html模板来以我想要的方式呈现内容。我首先从Pelican 附带的“简单”主题中复制并粘贴代码以开始使用,但即使它没有改变,我在'articles_page' is undefined尝试构建时也遇到错误。
从哪里article_page设置的变量?我尝试添加到我的pelicanconf.py文件中,但没有帮助。
{% extends 'base.html' %}
{% block title %}{{ page.title }} — Ricky White{% endblock title %}
{% block content %}
<section class="wrapper">
<div class="container">
<div class="row">
<div class="col">
<ol id="post-list">
{% for article in articles_page.object_list %}
<li><article class="hentry">
<header> <h2 class="entry-title"><a href="{{ SITEURL }}/{{ article.url }}" rel="bookmark" title="Permalink to {{ article.title|striptags }}">{{ article.title }}</a></h2> </header>
<footer class="post-info">
<time class="published" datetime="{{ article.date.isoformat() }}"> …Run Code Online (Sandbox Code Playgroud) 我想利用 AWS 技术在 AWS 上的 nodeJS 中托管此类可扩展的博客或应用程序。这里的想法是拥有一个小型 EC2 服务器,它不负责为网站提供服务,而只负责运行 CMS/管理面板。虽然这些操作也可以是无服务器的,但我认为拥有一个专用的小型 VM EC2 实例会更高效,并且可以更好地与现有框架等配合使用。
在我上面的图表中,您可以看到有两种类型的用户audiences和admin/writers. 管理员 CRUD 操作也会导致 lambda 运行。Lambda 在 Admin 更改后生成静态站点,并将其交付给 S3。用户被定向到 S3 中托管的静态站点。只有管理员/作者才能访问站点的服务器连接部分。
我认为对于一个可扩展性极强且相对便宜的站点来说,这是一个很好的设计,只要面向用户的一面都是静态的。另一种方法是 CDN,但随后我必须处理缓存失效问题、更新速度较慢的站点以及更大的服务器。
这对我来说似乎是双赢的。回馈?
amazon-s3 amazon-ec2 amazon-web-services aws-lambda static-generator