在 reST 格式文档中,嵌入 Creative Commons 授权信息
群英汇的用户手册文档以 Creative Commons 许可协议发布,但是仅仅在文档中用两个单词“Creative Commons”进行标识是不够的,因为:
- Creative Commons 不是一个,而是一组(六个)License 组成的许可协议家族
- 要在网站上的许可协议上,建立链接。链接到 creativecommons.org 网站上对应许可协议
- 只有在页面中建立到 creativecommons.org 的链接,才能被搜索引擎识别出网页/资源对应的许可协议
- 只有建立链接后,也才可能让您的共享资源,在 Search@CC 上搜索到
选择适合的许可协议
Creative Commons 提供一个许可协议选择网页,通过页面表单很容易的选定最终许可协议,并能够给出页面嵌入的代码。 例如获取到的代码:<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> <img alt="知识共享许可协议" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" /></a><br /> 本作品由<a xmlns:cc="http://creativecommons.org/ns#" href="http://www.ossxp.com/" property="cc:attributionName" rel="cc:attributionURL"> 北京群英汇信息技术有限公司</a>创作,采用<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"> 知识共享署名-相同方式共享 3.0 Unported许可协议</a>进行许可。显示在页面中为:
本作品由北京群英汇信息技术有限公司创作,采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。
上述代码中,我们最感兴趣和有用的,最主要的是那个漂亮的图片以及图片指向 Creative Commons 许可协议的链接。方法一:使用 raw html,直接使用 Creative Commons给出的链接
最直接的想法,就是把上面获取到的 HMTL 源代码直接加入 reST 格式文档中。 文档头部包含和授权信息相关内容,示例如下:================ 单点登录用户手册 ================ .. role:: raw-html(raw) :format: html :作者: 北京群英汇信息技术有限公司 :网址: http://www.ossxp.com/ :版权信息: |Creative Commons| .. contents:: 目录 .. sectnum:: .. header:: 单点登录用户手册 .. footer:: 北京群英汇信息技术有限公司 .. |Creative Commons| replace:: :raw-html:`<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/"><img style="border-width: 0;" src="http://i.creativecommons.org/l/by-sa/3.0/88x31.png" alt="知识共享许可协议" /></a>`需要着重说明的:
- 通过 role 指令,创建了一个新的规则 raw-html
- 在版权信息的内容部分,使用双竖线括起来的一个宏
- 宏使用 raw-html 进行替换
方法二:使用内嵌图片加链接
既然 raw html 存在问题,那么直接用 reST 自身的语法,嵌入图片并设置链接。 首先,图片必须保存在本地,而不能像方法一的那样,图片直接来自 CreativeCommons 网站。 然后在文档中嵌入图片链接,需要综合内置图片和链接的两种语法。示例如下:====================== 用户管理系统 用户手册 ====================== :作者: 北京群英汇信息技术有限公司 :网址: http://www.ossxp.com/ :版本: |doc_rev| :日期: |doc_date| :版权信息: |Creative Commons|_ .. contents:: 目录 .. sectnum:: .. header:: 用户管理系统用户手册 .. footer:: 北京群英汇信息技术有限公司 .. |doc_rev| replace:: ENV(DOC_REV) .. |doc_date| replace:: ENV(DOC_DATE) .. |Creative Commons| image:: images/cc-icon.png :scale: 90 .. _Creative Commons: http://creativecommons.org/licenses/by-sa/3.0/需要重点说明的是:
- 版权信息的内容,在宏的后面加了一个下划线,下划线是链接的语法。
- 宏被替换为内置图片。scale 指令设置了图片缩放。图片缩放是可选项,这里主要是为了保证 PDF 输出的图片不要太大。
- 最后一行,是链接的定义。
- 其中文档版本和日期的宏,是由外部工具处理,根据环境变量自动生成的。