Apache AutoIndex 和 Python PEP 503
Apache AutoIndex and Python PEP 503
我正在尝试基于 these instructions.
建立一个简单的 Python 存储库
我已经创建了所需的目录结构,但是 pip
找不到任何版本。在深入研究主题并参考 PEP 503 - Simple Repository API 后,我发现自动生成的 HTML 站点的结构应该是:
<!DOCTYPE html>
<html>
<body>
<a href="/frob/">frob</a>
<a href="/spamspamspam/">spamspamspam</a>
</body>
</html>
同一个 PEP 还说:
The text of the anchor tag MUST be the normalized name of the project
and the href attribute MUST link to the URL for that particular
project.
在我的例子中是这样的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
</head>
<body>
<h1>Index of /</h1>
<ul><li><a href="packet_name/"> packet_name/</a></li>
</ul>
</body></html>
注意 <a>
标签开头的空格和结尾的斜杠。是
<a href="packet_name/"> packet_name/</a>
但应该是
<a href="packet_name/">packet_name</a>
.htaccess 文件当前如下所示:
Options +Indexes
IndexOptions SuppressColumnSorting -FancyIndexing
IndexIgnore ..
有没有办法指示 Apache 提供 PEP 503 要求的目录布局?
事实证明,问题不是 link 的格式,而是规范化的文件夹结构。 PEP 503 期望对根级别的文件夹进行规范化。假设项目名称为 foo_bar
。然后,目录布局必须是:
.
|- foo-bar
|-- foo_bar-0.1.tar.gz
请注意,通过将 ., -, or _
个字符替换为单个 -
,文件夹得到了 "normalized"。之后 .htaccess
文件和自动生成的索引工作正常。
这是 PEP 503 的相关部分:
is PEP references the concept of a "normalized" project name. As per
PEP 426 the only valid characters in a name are the ASCII alphabet,
ASCII numbers, ., -, and _. The name should be lowercased with all
runs of the characters ., -, or _ replaced with a single - character.
This can be implemented in Python with the re module:
我正在尝试基于 these instructions.
建立一个简单的 Python 存储库我已经创建了所需的目录结构,但是 pip
找不到任何版本。在深入研究主题并参考 PEP 503 - Simple Repository API 后,我发现自动生成的 HTML 站点的结构应该是:
<!DOCTYPE html>
<html>
<body>
<a href="/frob/">frob</a>
<a href="/spamspamspam/">spamspamspam</a>
</body>
</html>
同一个 PEP 还说:
The text of the anchor tag MUST be the normalized name of the project and the href attribute MUST link to the URL for that particular project.
在我的例子中是这样的:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
</head>
<body>
<h1>Index of /</h1>
<ul><li><a href="packet_name/"> packet_name/</a></li>
</ul>
</body></html>
注意 <a>
标签开头的空格和结尾的斜杠。是
<a href="packet_name/"> packet_name/</a>
但应该是
<a href="packet_name/">packet_name</a>
.htaccess 文件当前如下所示:
Options +Indexes
IndexOptions SuppressColumnSorting -FancyIndexing
IndexIgnore ..
有没有办法指示 Apache 提供 PEP 503 要求的目录布局?
事实证明,问题不是 link 的格式,而是规范化的文件夹结构。 PEP 503 期望对根级别的文件夹进行规范化。假设项目名称为 foo_bar
。然后,目录布局必须是:
.
|- foo-bar
|-- foo_bar-0.1.tar.gz
请注意,通过将 ., -, or _
个字符替换为单个 -
,文件夹得到了 "normalized"。之后 .htaccess
文件和自动生成的索引工作正常。
这是 PEP 503 的相关部分:
is PEP references the concept of a "normalized" project name. As per PEP 426 the only valid characters in a name are the ASCII alphabet, ASCII numbers, ., -, and _. The name should be lowercased with all runs of the characters ., -, or _ replaced with a single - character. This can be implemented in Python with the re module: