当前位置: 首页 > 面试题库 >

将Sphinx文档设为私有

薄伟彦
2023-03-14
问题内容

所以这是一个经常发生的问题,我没有资格解决它,但我需要解决它,因此我将必须学习。见这个问题的一个过时的/没有可行的解决方案,并为没有回答过类似的问题。

基本问题,我需要提供私有python模块的文档。该项目托管在gitlab上,我使用CI生成文档。它们对全世界都是可见的,这并不理想。这是一个已知问题,gitlab可能最终会提供解决方案。我等不了那么久。我的计划是使用此项目(crypto-js)代码并将其包含在dockerRunner中。不幸的是,我不知道该怎么做,甚至是否可能。

我的ci.yml是:

image: tsgkadot/sphinx-plantuml

stages:
  - build
pages:
  stage: build
  script:
    #- pip install -r requirements.txt -U
    - sphinx-build -b html ./doc public
  artifacts:
    paths:
      - public
  tags:
    - docker

据我所知,crypto-js与之类似的接口是:

var unencrypted = document.getElementById('unencrypted_html').value;
var passphrase = document.getElementById('passphrase').value;
var encrypted = CryptoJS.AES.encrypt(unencrypted, passphrase);
var hmac = CryptoJS.HmacSHA256(encrypted.toString(), CryptoJS.SHA256(passphrase)).toString();
var encryptedMsg = hmac + encrypted;

从sphinx生成的html文件必须传递给js,然后输出替换文件。另外,我读到有可能在sphinx中包含js,但我看不到文件如何加密自己。我不介意使用一个密码来加密所有文档,然后与相关各方共享密码。

我也在gitlab的相关问题上发布了这些想法,但是由于他们正在寻找更完整的解决方案,因此似乎没有什么进展。

如果有像gitlab这样的git托管服务提供诸如私有存储库私有的页面之类的服务,我也很乐意切换到该服务。关于如何实现这一点的任何想法或指示?


问题答案:

所以我做了一个基本的修复程序,现在可以使用:

这个gitlab仓库在这里显示了一个有效的例子。

它使用静态密码保护,本期也将对此进行讨论。



 类似资料:
  • Sphinx 是一个工具,她能够轻易地创建智慧和优雅的文档,她是出自 Georg Brandl 之手,在BSD许可证下授权。

  • Sphinx简单来说,是一个文档生成工具,用于把reStructuredText 格式的源文件生成诸如HTML, PDF, LaTex一类的格式。编辑者无须亲自处理文本的格式, 程序会自动根据源文件里的设置产生格式, 以及自动生成章节链接等工作。 和 DocBook一样,Sphinx可以看做是一个把文本格式处理和文字编辑分开的工具。举个例子来说吧,大家一定都曾有过上学时用Word痛苦地修改论文 的

  • 问题内容: 我正在用Sphinx写一些文档,我只想为HTML文档而不是LaTeX文档打印某些文本块。某事告诉我我应该可以做到这一点,但我不知道如何做到。有谁知道如何做到这一点? 问题答案: 不需要扩展名。只需使用指令即可。 (旧链接,摘自2010年的原始帖子) https://web.archive.org/web/20100129001557/http://sphinx.pocoo.org/ma

  • 我正在尝试将一个PDF文档拆分为多个文档,其中每个文档包含的最大页数小于最大文件大小。 我的代码目前可以在Eclipse上运行,但是当我点击. jar文件时,java类中的静态方法似乎崩溃了(但是我似乎抓不到异常)。 不工作的代码是: myListOfDocuments=mysplitter。拆分(文件); 在调用上述行时,JVM会以某种方式退出静态方法。加载似乎工作正常,如下所示:PDDocum

  • 问题内容: 我在Python项目源代码中有一个字典,描述了默认配置值。字典很长。我想在Sphinx文档中以除“查看源代码”之外的其他格式查看字典,以便人们可以快速检查默认值。 当与Sphinx autodoc一起使用时,Sphinx是否提供选项来格式化类似于字典的变量以实现人类可读的格式?我目前正在使用转储整个模块,并将字典作为文档中的一个长字符串转储(没有换行符,漂亮的打印内容,任何东西)来获取

  • 问题内容: 我试图通过对数据库中的文档进行计数,并使用该数字来创建_id(假设第一个_id为0)来为我的Mongoose模型动态创建_id。但是,我无法从值中设置_id。这是我的代码: 我尝试了多种设置_id的方法,但是它对我不起作用。这是最新的错误: 如果您知道发生了什么事,请告诉我。 问题答案: 您要么需要将该属性声明为架构的一部分(将其注释掉),要么使用该选项并将其设置为(您正在使用该选项,