此Pelican插件创建了一个nginx兼容的映射,该映射位于任何文章或页面中定义的`Alias`属性所指定的最终页面位置和先前位置之间。
项目描述
nginx_alias_map:Pelican插件
此Pelican插件创建了一个nginx兼容的映射,该映射位于任何文章或页面中定义的"Alias"属性所指定的最终页面位置和先前位置之间。
基于Chris Williams的pelican-alias,后者又受到了jekyll_alias_generator的启发。
安装
此插件可以通过以下方式安装:
python -m pip install pelican-nginx-alias-map
用法
将目录添加到`pelicanconf.py`中的`PLUGIN_PATHS`的基本插件目录中,然后将`nginx_alias_map`添加到`PLUGINS`列表中。例如,
PLUGIN_PATHS = ["plugins"]
PLUGINS = ['nginx_alias_map']
可定义的参数(括号内为默认值)允许对插件输出的某些配置。
有两个可定义的参数,一个来自Chris的代码(ALIAS_DELIMITER
),用于定义相同项目的多个别名之间的分隔符;另一个是ALIAS_FILE
,用于定义包含地图的输出文件的最终名称;并且
ALIAS_DELIMITER : Delimeter between multiple aliases for the same item [","]
ALIAS_FILE : Name of map file to be placed in `output` ['alias_map.txt']
ALIAS_MAP : Name of the map used in the alias file ['redirect_uri']
ALIAS_MAP_TEMP: Name of the map used in the alias file when 2-stage lookup is needed ['redirect_uri_1']
支持带有查询字符串的URL
如果需要重定向包含查询字符串的URI,将创建一个单独的映射块来将$request_uri
映射到包含?
字符的别名的一个重新转义版本。否则,如果没有查询字符串,测试将针对$uri
进行,该URI进行了更多的处理(查询字符串删除、删除不必要的'/'等)。
NGINX配置
生成的文件(存储在output/$(ALIAS_FILE)
)已准备好包含到您的nginx配置文件(在http部分)。一旦创建了映射,请使用处理中的ALIAS_MAP
变量。
include /opt/web/output/alias_map.txt;
server {
listen *:80 ssl;
server_name example.server;
# Redirection logic
if ( $redirect_uri ) {
return 301 $redirect_uri;
}
location / {
alias /opt/web/output;
}
}
此配置使用邪恶的if
语句,但它简洁。如果您有更好的方法,请创建一个pull request,我将将其添加到本文档(或者如果它更有意义,则将其替换)。
我选择在这里使用301重定向,因为我确信其持久性。在测试期间,您可能想使用302。
贡献
欢迎并非常感谢贡献。每一份贡献都很有帮助。您可以通过改进文档、添加缺失的功能和修复错误来做出贡献。您还可以通过审查和评论现有问题来提供帮助。
要开始为此插件做出贡献,请查阅为Pelican做出贡献文档,从为代码做出贡献部分开始。
更新
我们使用dependabot更新依赖项,使用常规提交提交提交消息,并使用github actions进行发布。
要生成发布
cz bump --dry-run [--increment patch]
以验证更改cz bump [--increment patch]
以最终确定git push
以发送代码和git push <tag>
以发送标签(或更不安全的--tags
)
许可证
此项目采用MIT许可证。
项目详情
下载文件
下载适用于您平台的自定义文件。如果您不确定要选择哪个,请了解更多关于安装软件包的信息。
源分布
构建分布
pelican_nginx_alias_map-2.0.4.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8c5174fd6a23f6bf49f9ebf6998e16a10a4ce00d85eb32bc0b48f23eb33d2939 |
|
MD5 | eaf6340f6137ae452d3be7f6b64ae331 |
|
BLAKE2b-256 | 2a261b88658158f497e5f1f741d570893b22027355c652d010ff8f1fc8051603 |
哈希值 用于 pelican_nginx_alias_map-2.0.4-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 29622cef9dc630592f0318cc1780108d932fd5a4ae997ae4b0b1bc8886069f87 |
|
MD5 | 34c9e4079fafa88ee8bbf786e6ea56d3 |
|
BLAKE2b-256 | 3f5030d1ced418e53cc2d1014cdf7ef4402170832aba183ed2faf5315351fc8c |