Confluence
人工智能与机器学习
概述
人工智能(AI)和机器学习(ML)是当今科技领域最热门的话题之一。AI是指计算机系统能够执行通常需要人类智能的任务,如视觉识别、语音识别和决策制定。ML是AI的一个子集,专注于开发能够从数据中学习的算法。
关键技术
深度学习
深度学习是ML的一个分支,使用多层神经网络来模拟人脑的工作方式。它在图像和语音识别等领域取得了显著的成功。
强化学习
强化学习是一种通过试错来学习的ML方法。它通常用于游戏和机器人控制等领域。
应用
医疗保健
AI和ML在医疗保健领域有广泛的应用,包括疾病诊断、药物发现和个性化治疗。
金融
在金融领域,AI和ML用于风险管理、欺诈检测和投资策略优化。
挑战
数据隐私
随着AI和ML的发展,数据隐私成为一个重要问题。如何在利用数据的同时保护个人隐私是一个亟待解决的挑战。
伦理问题
AI和ML的决策过程往往不透明,这引发了关于算法偏见和伦理责任的讨论。
未来展望
AI和ML的未来充满希望,但也伴随着挑战。随着技术的进步,我们有望看到更多创新应用的出现,但同时也需要解决随之而来的伦理和社会问题。
概述
Atlassian Confluence 是一个支持团队协作的发布平台。Confluence 提供了多种托管选项,包括免费和付费订阅计划。
目前发布仅限于 Confluence Cloud。 我们尚不支持发布到 Confluence Server 或 Confluence Data Center。
Quarto 支持将单个文档以及由多个文档组成的项目发布到 Confluence Spaces。
使用 Quarto 管理 Confluence 内容,您可以在 Markdown 中创作内容,使用您常用的版本控制工具(如 Git 和 GitHub)管理内容,并利用 Quarto 的工具包含计算输出。
下一节,Confluence 发布基础,将介绍将单个页面发布到 Confluence 的过程,包括如何在 Quarto 中设置您的 Confluence 账户,以及如何指定文档在 Confluence Space 中的目标位置。
在使用 Confluence 发布您自己的项目之前,您需要阅读本页剩余部分的内容:
发布工作流程 描述了从 Quarto 发布到 Confluence 页面时进行更新的模型,包括发布时设置的页面权限。
为 Confluence 创作 描述了为 Confluence 创作与为 Quarto 网站创作之间的一些差异。
发布设置 涵盖了如何管理您的发布设置。
将 Quarto 文档发布到公共 Confluence Space 将使这些文档的内容公开。您有责任了解您的 Confluence Space 的权限,并验证您的发布目标,以防止任何敏感或机密内容被公开。
Confluence 发布基础
为了演示发布到 Confluence 的过程,我们将一个单一文档 confluence-demo.qmd
发布为一个 Confluence Space 中的页面。以下是 confluence-demo.qmd
的内容:
---
title: Confluence 演示
format: confluence-html
---
## 概述
在 Quarto 文档中编写内容并发布到 Confluence。
请注意,文档 YAML 中的格式设置为 confluence-html
。这使得文档的本地预览能够模仿其在 Confluence 上的最终外观。您可以像预览任何其他 Quarto 文档一样,在本地预览您的文档,方法是使用 VS Code 和 RStudio 中的 Render 命令,或使用命令行中的 quarto preview
:
终端
quarto preview confluence-demo.qmd
在本地预览 confluence-demo.qmd
的结果如下所示:
预览试图提供一个准确的概念,展示你的内容将如何呈现。然而,预览中的一些项目仅仅是占位符,比如标题中的发布日期、作者和阅读时间。当文档发布到Confluence时,这些项目将由Confluence生成。
要将文档发布到Confluence,请使用quarto publish confluence
,后跟文件名:
Terminal
quarto publish confluence confluence-demo.qmd
除非你之前已经发布到Confluence,否则系统会提示你设置账户并选择页面的目标位置。
设置你的账户
当你第一次发布到Confluence时,系统会提示你在Quarto中设置一个Confluence账户。为此,请登录Confluence,并导航到你希望发布到的空间或空间内的页面。
首先,系统会提示你输入Confluence域名。这是你希望发布到的Confluence页面的URL的第一部分。例如:
Terminal
? Confluence Domain: ›
❯ e.g. https://mydomain.atlassian.net/
接下来,系统会要求你输入在此Confluence域名中使用的账户的电子邮件地址(如果不确定,请查看你在Confluence上的账户资料):
Terminal
? Confluence Account Email: ›
最后,系统会要求你输入API令牌:
Terminal
? Confluence API Token: ›
❯ 在 https://id.atlassian.com/manage/api-tokens 创建一个API令牌
Confluence API令牌是特定于你的账户的。你需要创建一个令牌,复制,然后粘贴到此提示中。有关访问令牌的更多信息,请参阅Confluence关于API令牌的文档。
Quarto会保存此账户信息(域名、电子邮件和令牌),以便将来用于quarto publish confluence
的调用。最后,系统会提示你选择页面的目标位置。
选择目标位置
Confluence中的页面按层次结构排列:每个页面都有一个父页面。当你从Quarto发布到Confluence时,系统会要求你通过提供其URL来指定页面的父页面:
Terminal
? Space or Parent Page URL: ›
❯ 在Confluence中浏览到空间或父页面,然后复制URL
如果你想让你的页面位于空间的顶层,请指定空间本身,例如:
https://domain.atlassian.net/wiki/spaces/ABBR
否则,请指定父页面的URL,例如:
https://domain.atlassian.net/wiki/spaces/ABBR/pages/123456
一旦指定了目标位置,Quarto将渲染页面以供发布,将其发布到Confluence,并打开浏览器查看已发布的页面。
以下是confluence-demo.qmd
发布版本的示例:
在侧边栏导航中,此页面列在顶层页面下,因为目标位置设置为空间URL。
发布项目
要发布一组文档,请将你的文档组织在一个Quarto项目中,并使用confluence
项目类型。以下是一个Confluence项目的最小_quarto.yml
文件:
_quarto.yml
project:
type: confluence
将此文件包含在项目目录中,然后将你的.qmd
或.ipynb
文档安排到你希望用于发布的任何层次结构中。例如:
_quarto.yml
index.qmd
team.qmd
projects/
planning.qmd retrospectives.qmd
或者,要在新目录中使用模板项目开始,请使用quarto create
:
Terminal
quarto create project confluence
与文档一样,你可以使用VS Code和RStudio中的Render命令或通过命令行使用quarto preview
来预览你的项目:
Terminal
quarto preview
项目预览会生成一个带有导航的HTML网站,导航会自动添加到侧边栏中。此导航是为了方便,已发布页面的导航将由Confluence内部处理。
项目预览试图将你的内容样式化为在Confluence上的显示方式,但你可能注意到一些外观上的差异。
要发布你的项目,请从项目文件夹运行quarto publish confluence
:
Terminal
quarto publish confluence
你将按照与发布单个文档相同的步骤进行操作,如果需要,请设置账户,并在将项目发布到Confluence之前选择目标位置。
项目结构
项目中文件夹内文档的层次结构将在发布过程中得到保留。Confluence的文件夹概念是页面可以有子页面,因此你的文件夹将由Confluence中的页面表示。
当项目发布时,会在Confluence中创建一个页面来容纳它。项目顶层的文档将作为嵌套在此项目页面下的页面发布。项目内的文件夹由一个页面表示,文件夹内的任何文档(或其他文件夹)都表示为嵌套在文件夹页面下的页面。
例如,考虑以下项目结构:
example-project/
├── _quarto.yml
├── project-roadmap.qmd
├── reports-folder
│ ├── 2023-01.qmd
│ └── 2023-03.qmd
└── team-members.qmd
将此项目发布到空间顶层后,Confluence的结构如下所示:
Confluence侧边栏导航中使用的标题取自文档YAML和_quarto.yml
中分别指定的页面和项目标题,以及从文件夹名称生成的标题。Quarto可能会添加一些额外的字符,以满足Confluence对空间中每个页面名称唯一性的要求。
index.qmd
在Confluence中表示文件夹的页面将没有内容,除非在文件夹内找到index.qmd
。如果存在index.qmd
文件,其内容将填充文件夹页面。例如,考虑以下index.qmd
:
index.qmd
---
title: Reports
---
项目进展的月度报告
将此添加到reports-folder
文件夹并重新发布站点,将表示此文件夹的页面名称更改为“Reports”,并将此内容添加到页面中。
发布工作流程
在Confluence中,许多人可以直接编辑页面。然而,从Quarto管理内容需要转变视角:页面编辑仅在Quarto项目中进行,并且只有一个账户应将这些更改发布到Confluence。
发布到Confluence是单向的:无法将内容编辑从Confluence带回到Quarto项目。在Confluence上进行的编辑将在下次从Quarto发布页面时被覆盖。更新页面需要编辑Quarto中的文档,并重新运行:
Terminal
quarto publish confluence
为了避免无意中编辑由Quarto管理的页面,发布时会设置页面权限,以便空间中的每个人都可以查看页面,但只有你,即发布者,可以编辑页面。
编辑页面的权限包括发布更新,因此对页面的任何更新都需要从与原始发布相同的账户发布。
我们会尝试检测你是否发布到一个无法控制页面权限的目标位置,并会收到警告。你可以继续发布,但你发布的任何页面都可以被有权访问空间的人查看和编辑。
如果你在Confluence上删除了一个页面,并从Quarto重新发布,你会看到错误:
ERROR: API Error: 404 - Not Found
这是因为Quarto在_publish.yml
中存储并重用了你在Confluence上的页面位置。如果页面在Confluence上被删除,该位置将不再存在。要解决问题,请删除_publish.yml
中对应的条目,并重新发布。然后,系统会提示你设置目标位置。你可以在发布设置部分了解更多关于_publish.yml
的信息。
发布设置
一旦你发布了到Confluence,你可能会有兴趣了解如何管理你的发布和账户设置。
_publish.yml
_publish.yml
文件用于指定发布目标。每当你执行quarto publish
命令时,这个文件会自动创建(或更新),并位于项目或文档目录中。
发布内容的service
、id
和URL
在_publish.yml
中指定。例如:
- source: project
confluence:
- id: "5f3abafe-68f9-4c1d-835b-9d668b892001"
url: "https://myteam.atlassian.net/wiki/spaces/TEAMSPACE/pages/123456/Plan"
下次发布相同的文档或项目时,_publish.yml
文件将用于提供账户和空间信息,这样你就不会再被提示输入这些信息。
如果你有一个现有的Confluence空间想要发布到,你应该手动创建一个类似于上面示例的_publish.yml
文件,但使用适合你文档的id
和url
值。
账户信息不存储在_publish.yml
中,因此它适合于版本控制并由多个发布者共享。
账户管理
你可以使用quarto publish accounts
命令列出和删除保存的Confluence账户:
$ quarto publish accounts
? Manage Publishing Accounts
❯ ✔ Confluence: jj@posit.co
✔ Netlify: jj@posit.co
❯ Use the arrow keys and spacebar to specify
accounts you would like to remove. Press
Enter to confirm the list of accounts you wish to remain available.