支持发布到s3的lektor插件
lektor-s3的Python项目详细描述
乐高-s3
Lektor-S3使部署 Lektor投影到s3存储桶。
开始之前
你将把你网站的数据存储在一个s3桶中。守则 这里不会创建或配置该bucket。你必须 创建s3 bucket并自己设置它。
aws有一个pretty good guide 如何设置一个bucket来托管一个静态网站。你两个都需要 创建bucket并设置其权限以允许全局读取访问。 记住首先要这样做,因为lektor-s3不会自动这样做。
安装和使用
使用常用的Lektor工具链安装。在项目中,运行
lektor plugins add lektor-s3
您应该会看到一条消息,说明lektor-s3已添加到项目中。
接下来,向项目的服务器添加一个s3 bucket。在项目文件中
(类似于blog.lektorproject
),添加以下内容:
[servers.s3]name=S3enabled=yestarget=s3://<YOUR-BUCKET>
例如,如果要部署到名为“huntedwumpus”的bucket中, 最后一行
target=s3://huntedwumpus
现在,如果您调用lektor deploy s3
,lektor将上载您构建的
网站到S3在你的桶目标。
云锋
也可以选择提供CloudFront 分发ID。如果这样做,lektor将使该cloudfront中的所有对象无效 每次部署后分发。
cloudfront=<YOUR-DISTRIBUTION-ID>
凭证
你需要向s3证明你有权上传到 你选择的水桶。
lektor-s3使用boto,这意味着它将服从 boto's usual flow for gathering credentials。
对于刷新程序,这意味着您有两个选择:您可以存储
位于~/.aws/credentials
的ini文件中的凭据,或者可以传递
通过环境变量输入的凭证AWS_ACCESS_KEY_ID
以及AWS_SECRET_ACCESS_KEY
。
如果您有多组凭据,可以在
您的凭据文件,并使用AWS_PROFILE
选择正确的凭据文件。
环境变量。您的~/.aws/credenials
文件可能如下所示:
[work]aws_access_key_id=<...>aws_secret_access_key=<...>[personal]aws_access_key_id=<...>aws_secret_access_key=<...>
然后您可以使用环境变量调用lektor
:
$AWS_PROFILE=personal lektor deploy`
配置
上载特定文件时,可以指定要附加到这些文件的头 到S3。可以在您的 项目根目录。
你可以给这些部分起任何对你有意义的名字,但是每个部分
必须有match
或extensions
项才能指定
配置适用于。如果使用match
,则应将其作为常规
将使用正则表达式对文件名应用的表达式
表达式的搜索方法。如果使用extensions
,请编写逗号分隔的列表
应用配置的文件扩展名的。match
和
extensions
可以指定。
每个部分中的其余项应指定一个或多个标题和
他们的价值观。在boto文档中,有效头的列表定义为
^{
默认值可以通过通常的ini文件方式在[DEFAULTS]
部分中定义。
例如,您的配置文件可能如下所示:
[DEFAULT]CacheControl=public,max-age=3600[static files]match=\.(css|js|woff|woff2)$CacheControl=public,max-age=31536000[media]extensions=jpg,jpeg,png,mp4CacheControl=public,max-age=259200[fonts]extensions=woff2ContentType=application/font-woff2[documents]extensions=html,txtContentLanguage=en
贡献
拉请求是超级有用和鼓励!一旦接受,更改
使用带有lektor dev publish-plugin
的lektor发布。
通过调用python setup.py test
运行测试。