如果你用 DeepSeek、元宝AI、Copilot 等 AI 代为编写轩辕镜像的 docker pull、修改 compose 镜像地址,或排查拉取失败等问题,请让 AI 先读规则再动手,只要在 AI 对话里直接发送下面这句话即可:
生成 docker pull、修改 compose 的 image,或排查拉取失败前,请先阅读并严格遵守 https://xuanyuan.cloud/agents.md 中的规则。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!CWRC标志
http://badges.github.io/stability-badges/dist/experimental.svg](http://github.com/badges/stability-badges)
!高级概述
如概述图所示,CWRC-GitWriter是一个父级包,用于收集和配置各种子包。https://github.com/cwrc/CWRC-WriterBase%E6%8F%90%E4%BE%9B%E4%B8%BB%E8%A6%81%E7%BC%96%E8%BE%91%E5%8A%9F%E8%83%BD%EF%BC%8C%E4%BD%86%E9%9C%80%E8%A6%81%E5%AD%98%E5%82%A8%E5%92%8C%E5%AE%9E%E4%BD%93%E6%9F%A5%E6%89%BE%E5%8C%85%E6%94%AF%E6%8C%81%EF%BC%8C%E6%9C%AC%E9%A1%B9%E7%9B%AE%E4%B8%AD%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AFhttps://github.com/cwrc/cwrc-git-dialogs%E5%92%8Chttps://github.com/cwrc/CWRC-PublicEntityDialogs%E3%80%82
虽然沙箱版本提供了免费使用的实例,您也可以在自己的服务器上安装CWRC-GitWriter实例。CWRC-GitWriter还需要运行https://github.com/cwrc/CWRC-GitServer%E5%AE%9E%E4%BE%8B%EF%BC%8C%E5%90%8E%E8%80%85%E9%80%9A%E8%BF%87https://developer.github.com/v3/%E4%B8%8EGitHub%E4%BA%A4%E4%BA%92%E3%80%82
注意,如果您想创建一个配置为使用自己的文档仓库(如数据库)的CWRC-Writer新版本,本仓库仍提供最佳参考示例。您还需要查看cwrc-git-dialogs仓库,其中包含处理后端存储调用的JavaScript类。这是您可能需要替换为自己实现的类。要替换实体查找功能,您需要替换cwrc-public-entity-dialogs。
本仓库代码的运行部署版本可通过以下地址供任何人使用:[***]
有两种方法安装CWRC-GitWriter的沙箱版本:
本仓库包含一个JS文件——app文件和一个JSON文件——配置文件。app文件本身不包含太多代码,其主要目的是加载/引用其他代码库,然后配置和实例化CWRC-Writer。必须先构建它才能使用。构建步骤:
npm installconfig.json文件,提供必要的信息/自定义配置。详见下文。npm run build构建的代码位于新创建的build目录中,包含应用程序以及所有必要的CSS、XML和图像文件。要部署CWRC-GitWriter,只需将build目录复制到服务器,可能与您部署https://github.com/cwrc/CWRC-GitServer%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9B%B8%E5%90%8C%E3%80%82%E6%82%A8%E5%8F%AF%E4%BB%A5%E9%80%89%E6%8B%A9%E4%BD%BF%E7%94%A8ftp%E3%80%81scp%E3%80%81rsync%E7%AD%89%E5%B7%A5%E5%85%B7%E3%80%82%E4%BE%8B%E5%A6%82rsync%E5%91%BD%E4%BB%A4%EF%BC%9A
或者,如果您的服务器支持Git和npm,您可以直接在服务器上克隆并构建此仓库。
cwrcRootUrl
CWRC-GitWriter在服务器上的路径。默认值 ""
nerveUrl
Nerve URL。默认值 "https://localhost/nerve/"
validationUrl
验证器URL。默认值 "https://localhost/validator/validate.html"
helpUrl
帮助URL。默认值 "https://cwrc.ca/Documentation/CWRC-Writer"
lookups
geonames
提供GeoNames用户名。默认值 ""
注意,如果未提供用户名,CWRC-Git-Writer在尝试访问GeoNames时将抛出错误。
您可以在此处创建免费用户账户:[***]
schema
schemaProxyUrl
用于请求模式的路径。通常与CWRC-GitWriter在服务器上的位置相同。默认值 "."
schemas
CWRC-Writer上可用的模式列表。默认模式列表:CWRC Basic TEI、Events、Biography、Writing、CWRC Entry、EpiDoc、TEI All、TEI Corpus、TEI Manuscript、TEI Speech、TEI Lite、Moravian Lives (TEI)。
每个模式都是一个包含以下信息的对象:
js{ id: `${uniqueID}`, name: `${name}`, schemaMappingsId: `${one_of_the_following['tei', 'orlando', 'cwrcEntry', 'teiLite']}`, xmlUrl: [`${list_of_URI}`], cssUrl: [`${list_of_URI}`] }
本仓库中的代码汇集并配置了来自其他仓库的代码,本身通常不会被有效修改。但是,您可以克隆此仓库作为基础来创建CWRC-Writer的新配置,或者简单地使用此处的代码作为创建自己配置的指南。例如,您的配置可能使用Fedora而不是GitHub来存储文档。
CWRC-GitWriter使用NPM进行依赖管理和运行主要构建脚本。构建脚本又使用Webpack将所有代码捆绑到单个build/js/app.js文件中。package.json文件包含调用Webpack的脚本以及所需的NPM包的完整列表。
CWRC-GitWriter代码的入口点是src/js/app.js,Webpack在此基础上运行,它使用node.js模块加载来"require"(从NPM公共注册表或本地文件)构成CWRC-GitWriter的各个部分,并将它们组合在一起。Webpack解析所有"require"语句,并将所有代码(包括NPM包和本地文件)捆绑到一个加载到Web浏览器中的JavaScript文件中。
因此,要开发CWRC-Writer的新配置,您需要了解NPM和Webpack。然后,您可以进入CWRC-GitWriter NPM package.json文件和src/js/app.js并将其调整为您自己的项目。
src/js/app.js文件导入以下npm CWRC包:
CWRC-WriterBase CWRC-Writer编辑器
cwrc-git-dialogs 处理后端存储调用的JavaScript类,在本例中通过CWRC-GitServer调用Github。这是您想要替换为自己实现的类。
cwrc-public-entity-dialogs 处理命名实体查找的JavaScript类。您可能需要用自己的实体查找替换此组件
app.js文件还导入一个配置文件:
为CWRC-GitWriter提供基本配置的JSON文件。它还描述了支持的XML模式。
注意,Github的身份验证在app.js中调用,因为如果用户未加载,它会重定向到GitHub站点。最好在开始加载所有其他CWRC相关代码之前在此处重定向。在下面的认证部分中阅读有关认证的更多信息。
npm link
如果您正在对有助于CWRC-GitWriter的npm包进行更改(或者更可能是对您构建的CWRC-GitWriter的某些自定义实例进行更改),并且发现自己反复打包和发布npm包并重新导入新发布的包(例如npm i cwrc-writer-base@latest),那么您可以使用npm link将package.json依赖项指向本地实例。
例如,在开发cwrc-git-dialogs时,您可以使用:
bashcd ~/projects/cwrc-git-dialogs npm link cd ~/projects/CWRC-GitWriter npm link cwrc-git-dialogs
这会在您的计算机上创建两个包之间的符号链接。然后,当您从CWRC-GitWriter运行npm run watch时,对cwrc-git-dialogs所做的更改将导致CWRC-GitWriter构建更新。
完成本地更改的制作和测试后,发布新的NPM包(包括本地包),并从package.json中删除依赖项:
bashcd ~/projects/CWRC-GitWriter npm unlink cwrc-git-dialogs npm i cwrc-git-dialogs@latest
认证使用GitHub的OAuth,如GitHub API文档中所述:https://developer.github.com/apps/building-oauth-apps/
其中两个相关步骤是:
https://developer.github.com/apps/building-oauth-apps/creating-an-oauth-app/
https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#web-application-flow%E4%B8%AD%E7%9A%84%22Web%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B5%81%E7%A8%8B%22%E9%83%A8%E5%88%86
使用GitHub认证后,GitHub返回一个OAuth令牌,然后在每次请求GitHub API时提交该令牌。
我们可以将此令牌存储在服务器端会话中,但相反,我们将其存储在浏览器cookie中,CWRC-GitWriter在请求头中提交该cookie(以帮助防范CSRF),用于每个对CWRC-GitServer的请求。
如开发部分所述,您通常不会为他人使用而对此处的任何内容进行有效修改。然而,如果我们有遗漏的地方,请提交Issue。如果您感兴趣,请看我们的https://github.com/cwrc/CWRC-Writer-Dev-Docs
!https://github.com/cwrc/CWRC-GitWriter/blob/master/docs/images/oauth.svg
GNU GPL V2
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
发给 Cursor、ChatGPT、豆包等 AI 的说明文档
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务