跳转到主要内容

WSGI评论中间件

项目描述

WSGI评论中间件

使用方法

创建一个包装您应用程序的解说者中间件工厂。目前,解说者只处理评论。向解说者构造函数传递一个数据库(pickle的路径)和一个模式。模式的形式为

<URL模式>#<xpath模式> -> URL

URL模式是一个与请求的PATH_INFO匹配的Python正则表达式

xpath模式是您想在页面上放置评论的位置。有关xpath表达式的更多信息,请参阅https://w3schools.org.cn/XPath/

URL是一个Python字符串模板,用于替换URL正则表达式中的组和找到的节点中的元素属性。元素属性通过名称引用(${id}${class}等),组通过编号引用(${1}、…)。

示例

参考实现示例在解说者.ini文件中。这使用以下模式

commentator.pattern = (.*)#.//div[@id='comment_on_this'] -> ${1}

这个模式的意思是

  • 评论每个PATH_INFO (.*)

  • 将渲染的内容模板附加到 div[@id='comment_on_this']

  • 将PATH_INFO作为规范URL引用 ${1}

要评论每个HTML页面的body末尾,您将使用

commentator.pattern = (.*)#.//body -> ${1}

在.ini文件中的更复杂示例,已注释,用于与bitsyblog一起使用

commentator.pattern = /blog/.*#.//div[@class='blog-entry'] -> /blog/${id}

这个模式的意思是

  • 评论博客下的所有路径

  • 将评论放在每个 div[@class='blog-entry'] 的末尾

  • div 的id获取URI,而不是从 PATH_INFO 获取

待办事项

这是一个非常早期的版本。如果有人需要,我很乐意在这个项目上投入更多时间。一些未解决的问题

  • 修复了lxml的奇怪问题,其中你必须为元素使用.//

  • 允许对多个资源进行评论(每个实例多个模式)

  • 锁定pickle文件

  • 修复couch……不确定出了什么问题

  • 允许使用CSS类,而不仅仅是xpath

http://k0s.org

项目详情


下载文件

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

源分发

commentator-0.1.tar.gz (5.0 kB 查看哈希)

上传时间

由以下支持

AWSAWS 云计算和安全赞助商 DatadogDatadog 监控 FastlyFastly CDN GoogleGoogle 下载分析 MicrosoftMicrosoft PSF赞助商 PingdomPingdom 监控 SentrySentry 错误日志 StatusPageStatusPage 状态页面