支持发布到s3的lektor插件

lektor-s3的Python项目详细描述


乐高-s3

Build Status

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。可以在您的 项目根目录。

你可以给这些部分起任何对你有意义的名字,但是每个部分 必须有matchextensions项才能指定 配置适用于。如果使用match,则应将其作为常规 将使用正则表达式对文件名应用的表达式 表达式的搜索方法。如果使用extensions,请编写逗号分隔的列表 应用配置的文件扩展名的。matchextensions可以指定。

每个部分中的其余项应指定一个或多个标题和 他们的价值观。在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运行测试。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取TaskCompletionSource工作(Firestore的Android任务)   从PNG文件获取java或信息   neo4j嵌入式版本2.3.8的java NotInTransactionException   OSGI框架的java Eclipse启动配置在Mac上不起作用   java svn:“预提交”挂钩失败,输出错误:   java中ResourceBundle的io查询   java声明变量的最佳方法是什么?遵循下面的例子?   java如何在log4j中获得不同的记录器?   hibernate错误“java.lang.NoSuchMethodError:org.jboss.logging.Logger.getMessageLogger”   swing将JPanel保存为图像   eclipse(Java Spigot)我的PlayerInteractEvent有问题   使用java nio从FileChannel读取的字符串   java Eclipse无法清理生成输出   安卓对Eclipse java组件中的代码行数有限制吗   java Android Studio将应用程序推到手机上,不会让我   针对具有两个编辑器的页面的selenium java代码自动化   Java正则表达式:负前瞻   JavaJPA:基于实例变量将实体动态映射到表