跳转到主要内容

轻量级带搜索引擎的网页文档仓库

项目描述

多康是一个轻量级文档仓库。它是一个网络应用程序,

  1. 为客户提供上传文档的端点。

    将文档发送到多康就像执行一个POST查询一样简单,例如

    $ curl \
      -X POST \
      --form name=project_name \
      -F ":action=doc_upload" \
      -F content=@../documentation.zip \
      http://dokang:my-secret-token@dokang.example.com/upload
  2. 提供一个主页,其中包含所有文档列表和一个简单的搜索表单,允许用户在HTML、文本和PDF文件中进行搜索。其他格式可以通过使用扩展来处理。

  3. 提供所有文档。

多康还附带命令行界面。它在本质上是一个Whoosh搜索引擎的包装器,带有一个非常简单的HTML文本索引器。它可以扩展以从其他类型的文件(如PDF)检索内容。

多康与Readthedocs类似(尽管Readthedocs具有更广泛的功能),但提供跨所有托管文档的全局搜索。所有这些都可以通过简单的设置提供,无需任何关系数据库。

我们(Polyconseil)用它来搜索我们所有项目的Sphinx生成的文档。然而,它可以用于托管任何类型的文档。

构建和运行自己的docker镜像

要构建自己的镜像

$ docker build -t dokang .

要运行镜像

$ docker run --rm -e DOKANG_UPLOAD_TOKEN=my_little_secret \
  -e DOKANG_NAME='My docs' \
  -e DOKANG_DESCRIPTION='Documentations of all my projects' \
  -e DOKANG_SERVER_TRUSTED_PROXY=129.14.12.1  # Optional: the IP address of the proxy to pass to waitress server's trusted_proxy
  -p 8080:6543
  dokang

在您的浏览器中转到http://localhost:8080/,您应该看到文档列表。

变更日志

0.10.1 (2023-02-10)

  • 修复选项选择(在主页上)

0.10.0 (2023-02-09)

  • 升级依赖项

  • 支持Python 3.7和3.8

  • 停止支持Python <=3.6

  • 修复Python 3中的OpenSearch视图

0.9.5 (2016-12-14)

  • 改进数据存储库初始化。

0.9.4 (2016-07-05)

  • 修复dockerfile。

0.9.3 (2016-07-04)

  • 添加dockerfile。

0.9.2 (2016-04-26)

  • 更新文档时保持标题。

0.9.1 (2016-04-01)

  • 修复打包

0.9.0 (2016-04-01)

  • 允许同时运行Dokang Web应用程序的线程。

    到目前为止,Dokang在启动时和上传新文档集时更新其文档集列表。显然,同时运行多个Web应用程序线程的效果不佳,因为一个线程如果被另一个线程添加了新文档集,将无法看到任何新文档集。

    现在这个限制已经解除,Dokang Web应用程序可以以多线程的方式运行(例如,使用多个uWSGI工作者)。

Dokang 0.8.2 (2016-02-24)

  • 在上传文档的新版本后更新文档集标题。

Dokang 0.8.1 (2016-02-24)

  • 修复打包。

Dokang 0.8.0 (2016-02-24)

  • 使用索引页的标题作为每个文档集的标题。

  • 按文档集标题的首字母分组。

Dokang 0.7.0 (2016-02-01)

  • 添加对Python 3.5的支持。

  • 在初始化索引时,现在dokang init会创建所有需要的中间级目录。

  • 将删除选项添加到dokang clear以删除上传的文件。

  • 修复更改检测:我们以前存储并使用文件的修改时间。现在,我们为每个文件计算并存储一个MD5哈希值。这比获取修改时间慢,但它处理更多的用例。

    这是一个向后不兼容的更改。您必须像这样重新索引所有文档

    dokang init --force
    dokang index
  • 移除索引优化。现在索引应该要快得多,尤其是在大型文档库中。

  • 修复解析非ASCII、非UTF-8 HTML文件时的编码错误。UTF-8文件已被正确处理。

  • 添加对OpenSearch的基本支持。

  • 排除更多Sphinx生成的文件,如objects.invsearchindex.js

  • 在命令行客户端的搜索结果中显示文件路径。

  • 修复文档删除中的错误。当一个文档被检测为从文档集中删除(即当文件不再存在于“上传”目录中时),索引过程会从索引中删除具有相同路径(例如index.html)的所有文档集。这些文件本身没有被删除,因此下一次索引会将它们重新添加到索引中。

  • 使用异步索引写入器,允许并发执行多个索引。如果没有这个,将引发whoosh.index.LockError异常。

Dokang 0.6.1 (2015-03-03)

  • 修复上传文档时的重定向错误。

Dokang 0.6.0 (2015-03-03)

棕色袋子发布。

  • 停止对Python 2.6的支持。

  • 从Dokang的根目录(“/”)提供文档。此更改是不向后兼容的。

    在本次提交之前,如果上传目录命名为“uploaded”,则文档将在/uploaded/<doc_set_id>处可用。这有点太冗长了。

    此次(向后不兼容)更改后,文档现在可在/<doc_set_id>处找到。

Dokang 0.5.0(2015-02-18)

  • 在搜索结果的URL查询字符串中添加“highlight”。此参数由Sphinx生成的HTML文件理解。

  • 添加文档上传端点(使用Dokang网络前端提供服务)

Dokang 0.4.2(2014-09-01)

  • 修复了前端生成的难看的(但可工作)URL。当项目的URL配置以斜杠结尾时,它们曾经包含两个连续的斜杠(例如,http://example.com/project//doc.html)。

Dokang 0.4.1(2014-08-27)

  • 修复了MANIFEST.in,以便Python包包含网络前端所需的所有模板和样式表。

Dokang 0.4.0(2014-07-04)

  • INI配置文件中添加了一个新的dokang.hit_limit选项。它限制了在Web前端显示的结果数量(或如果没有此选项,则取消此限制)。

Dokang 0.3.0(2014-07-04)

  • 修复了HTML收割器中的错误。尝试使用它会因异常而失败,因为Whoosh会抱怨一些意外的是字节字符串的东西。

  • 修复了处理已删除文档的错误。它们没有被从索引中删除。

Dokang 0.2.0(2014-06-24)

初始版本。

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

此版本未提供源分布文件。请参阅生成分布存档的教程。

构建分布

Dokang-0.10.1-py3-none-any.whl (23.7 kB 查看哈希值)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面