跳转到主要内容

此Pelican插件创建了一个nginx兼容的映射,该映射位于任何文章或页面中定义的`Alias`属性所指定的最终页面位置和先前位置之间。

项目描述

nginx_alias_map:Pelican插件

Build Status PyPI Version License

此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进行发布。

要生成发布

  1. cz bump --dry-run [--increment patch]以验证更改
  2. cz bump [--increment patch]以最终确定
  3. git push以发送代码和git push <tag>以发送标签(或更不安全的--tags

许可证

此项目采用MIT许可证。

项目详情


下载文件

下载适用于您平台的自定义文件。如果您不确定要选择哪个,请了解更多关于安装软件包的信息。

源分布

pelican_nginx_alias_map-2.0.4.tar.gz (5.9 KB 查看散列

上传时间

构建分布

pelican_nginx_alias_map-2.0.4-py3-none-any.whl (7.6 KB 查看散列

上传时间 Python 3

支持