跳转到主要内容

Connexions CNXML库

项目描述

CNXML库

这是一个用于处理CNXML内容的Python库,包括CNXML和COLLXML格式。

安装

此库需要Python >=3.5。

使用以下方式安装

pip install -e "."

测试

使用tox运行测试

tox

如果tox未安装,请运行以下命令

pip install tox

使用atom.io编辑/验证文件

准备

  1. 安装https://atom.io

  2. 获取cnxml RNG模式文件

    1. https://github.com/Connexions/cnxml/releases下载最新版本(点击“zip”链接)

      • 它应该在您的下载文件夹中

      • 将其移动到 ~/.neb/

    2. 解压文件

    3. 它应该创建一个名为类似 cnxml-2.0.0 的文件夹(其中包含 /cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng

    4. 将文件夹重命名为不太可能意外删除的名称(例如 cnxml-validation

      • 记住这个名称,稍后您在编辑 ~/.atom/config.cson 时需要它

安装

  1. 启动Atom

  2. 安装 linter-autocomplete-jing

  3. 按 <kbd>⌘</kbd>+<kbd>,</kbd> (对于Mac)打开设置(或从菜单栏中选择 Atom首选项…

    1. 在左侧点击 安装

    2. 输入 linter-autocomplete-jing 并点击 安装

    3. 替代方法:从命令行运行 apm install linter-autocomplete-jing

  4. 通过点击 Atom配置 在菜单栏中编辑 ~/.atom/config.cson 并添加以下行(在此文档底部)

  5. 重启Atom

  6. 打开一个未解压的完整压缩包。(我在终端中运行 atom ~/Downloads/col1234_complete

  7. 通过打开一个 index.cnxml 文件并在其中某处输入 <figure> 来验证。如果这是一个有效位置,则应自动为您添加 id=""

~/.atom/config.cson 的更改

"*":
  core:
    customFileTypes:

      # Add this to the bottom of the customFileTypes area.
      # Note: Indentation is important!
      "text.xml": [
        "index.cnxml"
      ]


  # And then this to the bottom of the file
  # 1. Make sure "linter-autocomplete-jing" only occurs once in this file!
  # 1. make sure it is indented by 2 spaces just like it is in this example.

  "linter-autocomplete-jing":
    displaySchemaWarnings: true
    rules: [
      {
        priority: 1
        test:
          pathRegex: ".cnxml$"
        outcome:
          schemaProps: [
            {
              lang: "rng"
              path: "~/.neb/cnxml-validation/cnxml/xml/cnxml/schema/rng/0.7/cnxml-jing.rng"
            }
          ]
      }
    ]

许可协议

本软件受 GNU Affero 通用公共许可证版本 3.0 (AGPL) 的规定。有关详细信息,请参阅 license.txt。版权 (c) 2016 威斯康星大学麦迪逊分校

变更日志

3.1.9

  • 添加对许可证的有序解析 (#56)

  • 确保在许可证 URL 中接受 https (#57)

3.1.6

  • 修复派生元数据验证错误 (#49)

3.1.5

  • 对 collxml 要求 md:language,但对 cnxml 不要求 (#39)

3.1.4

  • 使集合中的模块标题为可选 (#35)

3.1.3

  • 支持使用文档标题,一旦它从元数据中删除 (#33)

  • 删除 git 存储未使用的某些元数据 (#32)

3.1.2

  • 更新架构并添加对元数据中 slug 的支持 (#30)

3.1.1

  • 添加对新的可选元数据的支持 (#28)

3.1.0

  • 在解析元数据时放松所需信息 (#25)

3.0.1

  • 3.0.0 的新发布

3.0.0

  • 添加对 cnxml <md:derived-from …> 验证的测试 (#20)

  • 修复失败的派生 cnxml 验证测试

  • 使用自闭合的 md:derived-from 作为有效的表示

  • 将元数据解析从 Press 移至 cnxml (#20)

  • 添加用于提取 cnxml 元数据到 json 的 CLI 工具 (#22)

2.2.0

  • 扩展验证 API 以接受多个文档进行验证

2.1.1

  • 调整 mdml 架构以在 derived-from 下允许任何元数据元素 (#20)

2.1.0

  • 删除外部 pathlib 依赖

  • 停止支持 Python <= 2.7

  • 使用 versioneer 进行项目版本控制

  • 在 setup.py 中更正许可证

  • 添加使用 atom.io 编辑器验证的说明

2.0.0

  • 添加用于 collxml 验证的命令行界面

  • 将主 CLI 函数重命名为留出另一个入口点

  • 在 collxml 中使元数据部分成为必需

  • 添加 collxml 验证函数

1.1.0

  • 使用 namedtuple 为验证错误行数据。

1.0.0

  • 首次发布。

项目详细信息


下载文件

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

源代码分发

此版本没有可用的源代码分发文件。请参阅 生成分发存档的教程

构建分发

cnxml-3.1.9-py3-none-any.whl (916.6 kB 查看散列)

上传时间 Python 3

支持者:

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