多功能文档应用程序Codex Docs

news2024/11/6 5:17:50

在这里插入图片描述

什么是 Codex Docs ?

CodeX Docs 是一个简单的免费应用程序,适用于您的内部、公共或个人文档。它基于Editor.js,允许使用漂亮干净的 UI 处理内容。

官方提供了演示站点:https://docs-demo.codex.so/about-this-demo

安装

在群晖上以 Docker 方式安装。

镜像下载

官方的镜像发布在 ghcr.io
地址:https://github.com/codex-team/codex.docs/pkgs/container/codex.docs

SSH 客户端登录到群晖后,执行下面的命令

# 拉取镜像
docker pull ghcr.io/codex-team/codex.docs:v2.1

如果没有科学上网,很可能会拉不动,可以试试 docker 代理网站:https://dockerproxy.com/,但是会多几个步骤

# 如果拉不动的话加个代理
docker pull ghcr.dockerproxy.com/codex-team/codex.docs:v2.1

# 重命名镜像(如果是通过代理下载的)
docker tag ghcr.dockerproxy.com/codex-team/codex.docs:v2.1 ghcr.io/codex-team/codex.docs:v2.1

# 删除代理镜像(如果是通过代理下载的)
docker rmi ghcr.dockerproxy.com/codex-team/codex.docs:v2.1

下载完成后,可以在 映像 中找到

在这里插入图片描述

命令行安装

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: "3.2"

services:
  docs:
    image: ghcr.io/codex-team/codex.docs:v2.1
    container_name: codex-docs
    ports:
      - "3313:3000"
    command:
      - node
      - dist/backend/app.js
      - -c
      - docs-config.yaml
    volumes:
      - ./uploads:/usr/src/app/uploads
      - ./db:/usr/src/app/db
      - ./docs-config.yaml:/usr/src/app/docs-config.yaml

设置文件 docs-config.yaml 采用的官方的,可以不需要做修改直接使用

关于各参数的说明,可以看官方文档::https://docs-demo.codex.so/configuration

port: 3000
host: "localhost"
uploads:
  driver: "local"
  local:
    path: "./uploads"
  s3:
    bucket: "my-bucket"
    region: "eu-central-1"
    baseUrl: "http://docs-static.codex.so.s3-website.eu-central-1.amazonaws.com"
    keyPrefix: "/"
    accessKeyId: "my-access-key"
    secretAccessKey: "my-secret-key"
frontend:
  title: "CodeX Docs"
  description: "Free Docs app powered by Editor.js ecosystemt"
  startPage: ""
  misprintsChatId: "12344564"
  yandexMetrikaId: ""
  carbon:
    serve: ""
    placement: ""
  menu:
    - "Guides"
    - title: "CodeX"
      uri: "https://codex.so"

auth:
  password: secretpassword
  secret: supersecret

hawk:
#  frontendToken: "123"
#  backendToken: "123"

database:
  driver: local # you can change database driver here. 'mongodb' or 'local'
  local:
    path: ./db
#  mongodb:
#    uri: mongodb://localhost:27017/docs

然后执行下面的命令

# 新建文件夹 codex.docs 和子目录 
mkdir -p /volume2/docker/codex.docs/{data,db,uploads}

# 进入 codex.docs 目录
cd /volume2/docker/codex.docs

# 将 docker-compose.yml 和 docs-config.yaml 放入当前目录

# 一键启动
docker-compose up -d

在这里插入图片描述

运行

在浏览器中输入 http://群晖IP:3313 就能看到主界面

+Add page,需要先登录

密码为 docs-config.yaml 文件中 auth.password 中设置的 secretpassword

登录成功后就可以开始新建页面了

在这里插入图片描述

随便写写

保存后的

最好再编辑一次,给个 Alias,数字和字母都可以

否则再次打开 http://群晖IP:3313 时,会显示 Found. Redirecting to

Codex Docs 的特点是可以创建任意层级的文档,可以在一级菜单下再建二级菜单,而且可以一直建下去

在这里插入图片描述

Editor.js 是个开源的块式编辑器,可以让你轻松添加和排列不同类型的内容,例如文本、图像、列表、引用等。每个块都是通过一个单独的插件提供的,这使得 Editor.js 非常灵活

附录、使用 mongo 数据库

默认未使用数据库,如果需要使用 mongo 来保存页面数据,首先需要在 docker-compose.yml 中安装 mongo 数据库

version: "3.2"

services:
  docs:
    image: ghcr.io/codex-team/codex.docs:v2.1
    container_name: codex-docs
    ports:
      - "3313:3000"
    command:
      - node
      - dist/backend/app.js
      - -c
      - docs-config.yaml
    volumes:
      - ./uploads:/usr/src/app/uploads
      - ./db:/usr/src/app/db
      - ./docs-config.yaml:/usr/src/app/docs-config.yaml
  
  mongodb:
    image: mongo:4.4.0
    container_name: codex-db
    ports:
      - "27017:27017"
    volumes:
      - ./data:/data/db

接下来要修改设置文件 docs-config.yaml,将 database 部分的 driverlocal 改为 mongodb

port: 3000
host: "localhost"
uploads:
  driver: "local"
  local:
    path: "./uploads"
  s3:
    bucket: "my-bucket"
    region: "eu-central-1"
    baseUrl: "http://docs-static.codex.so.s3-website.eu-central-1.amazonaws.com"
    keyPrefix: "/"
    accessKeyId: "my-access-key"
    secretAccessKey: "my-secret-key"
frontend:
  title: "CodeX Docs"
  description: "Free Docs app powered by Editor.js ecosystemt"
  startPage: ""
  misprintsChatId: "12344564"
  yandexMetrikaId: ""
  carbon:
    serve: ""
    placement: ""
  menu:
    - "Guides"
    - title: "CodeX"
      uri: "https://codex.so"

auth:
  password: secretpassword
  secret: supersecret

hawk:
#  frontendToken: "123"
#  backendToken: "123"

database:
  driver: mongodb # you can change database driver here. 'mongodb' or 'local'
  local:
    path: ./db
  mongodb:
    uri: mongodb://mongodb:27017/docs

参考文档

codex-team/codex.docs: Free Docs app powered by Editor.js ecosystem
地址:https://github.com/codex-team/codex.docs

CodeX团队
地址:https://codex.so/

CodeX Docs
地址:https://docs.codex.so/codex-docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/508707.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CIAA 网络安全模型 — 数据传输安全

目录 文章目录 目录网络传输 CIAA 安全模型机密性(Confidentiality)对称加密非对称加密混合加密 完整性(Integrity)L2 数据链路层的 CRC 强校验L3 网络层的 Checksum 弱校验L4 传输层的 Checksum 弱校验安全层的 Checksum 强校验 …

解决:component COMDLG32.OCX or one of…和 MSCOMCTL.OCX or one of...的解决方法

遇到的问题: 在做CTF题目 使用16进制转图片工具 出现了两个报错! 解决方法: 第一步:下载COMDLG32.OCX 程序(可以去官网)也可也使用我的百度网盘 http://链接:https://pan.baidu.com/s/1-1KNg…

本地部署 闻达:一个LLM调用平台

本地部署 闻达:一个LLM调用平台 1. 什么是 闻达2. Github 地址3. 安装 Miniconda34. 创建虚拟环境5. 安装 闻达6. 下载各个 model7. 配置各个 model8. 使用 RWKV-4-Raven-14B-v11x 启动9. 使用 chatglm-6b-int4 启动10. 使用 stable-vicuna-13B 启动11. 使用 moss-m…

SpringFramework

🏡个人主页 : 守夜人st 🚀系列专栏:Spring …持续更新中敬请关注… 🙉博主简介:软件工程专业,在校学生,写博客是为了总结回顾一些所学知识点 目录 Springspring概述1 Spring定义2 Sp…

我的创作纪念日(2)设置飞机进行调优

文章目录 前言 2.1 电池设置 2.2 电机设置 2.3 PID控制器初始设置 前言 以下参数应根据你的飞机的规格正确设置。每一个都会影响调优过程的质量。 2.1 电池设置 确保你的 VTOL 电机的推力曲线尽可能的线性是非常重要的。一个线性的推力曲线意味着电机产生的实际推力的变化…

GuassDB数据库的GRANT REVOKE

目录 一、GaussDB的权限概述 二、GaussDB权限设计建议 三、GaussDB的GRANT命令 1.功能说明 2.注意事项 3.常用语法 四、GaussDB的REVOKE命令用法 1.功能说明 2.注意事项 3.常用语法 五、GaussDB示例 1.GRANT 语句示例 2.REVOKE 语句示例 一、GaussDB的权限概述 在…

电气设备绝缘在线监测系统的原理

摘要:在线监测是控制好电气设备绝缘的重要方式,为电力系统稳定奠定重要基础。在线监测电气设备时,要利用检测技术促进电力系统运行效率提升,让电气设备在具体工作过程中发挥更大作用。本次研究中主要分析了电气设备绝缘在线监测系…

单开网页应用利器 - BroadcastChannel

前言 前段时间在做一个基于 psd 模板生成图片的应用,其中重要的功能就是打开编辑器页面来设计出图。但是有个问题,每当我点击一个模板,就会新开一个浏览器页签。现代浏览器是以空间换时间的运行思路来提高效率,这就导致了内存开销…

单片机c51中断 — 中断键控流水灯

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第五章,中断 在第4章的实例2中,按键检测是采用查询法进行的,其流程图如图所示 问题是这样的:由于查询法 -按键查询、标志位修改及彩灯循环几个环节是串联关系…

微信小程序从入门到精通

目录 前言一,初学小程序1.1 小程序概述1.2 基础配置1.2.1 注册开发账号1.2.2 获取AppID1.2.3 微信开发者工具1.2.4 修改代理模式 1.3 第一个小程序1.4 开发文档1.5 机型1.6 项目基本结构1.6.1 页面内部文件1.6.2 app.json1.6.3 project.config.json1.6.4 sitemap.js…

开关电源基础07:离线式开关电源变压器设计(1)

说在开头:关于第六届索尔维会议(2) 爱因斯坦一天都挺开心的,反正难题出给了玻尔,他还在自己的房间里拉起了小提琴,有人说爱因斯坦小提琴拉的跟锯木头一样,那也不至于那么夸张,但是水…

RK3568平台开发系列讲解(Linux内存篇)Linux内存管理框架

🚀返回专栏总目录 文章目录 一、内核态内存分配二、用户态内存分配三、内存篇章更新哪些内容沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们一起将整个内存管理的体系串起来。 对于内存的分配需求,可能来自内核态,也可能来自用户态。 一、内核态内存分配…

Spring Boot集成ShardingSphere实现读写分离 | Spring Cloud 43

一、读写分离 1.1 背景 面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。 对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操…

NetApp 利用适用于混合云的实时解决方案解决芯片设计方面的数据管理挑战

电子设计自动化 (EDA) 成本持续增加,而周期时间缩短。这些都为 EDA 设计带来了前所未有的挑战,对现代高性能工作流的需求变得从未如此巨大。 联想凌拓芯片设计行业存储解决方案及最佳实践 联想凌拓芯片行业数据存储与管理解决方案,针对EDA…

驱动设计的思想:面向对象/分层/分离(以LED操作为例)

1. 面向对象 字符设备驱动程序抽象出一个file_operations结构体; 对于LED,写的程序针对硬件部分抽象出led_operations结构体。 2. 分层 上下分层,之前写的LED驱动程序就分为2层: ① 上层实现硬件无关的操作,比如注册…

一文搞懂——MySQL索引事务JDBC

目录 一、索引 1.1 索引是什么? 1.2 怎样创建索引? 1.3 索引使用的数据结构是什么? 1.4 索引相关的概念 1.5 索引失效的原因 二、事务 2.1 事务是什么? 2.2 为什么要使用事务? 2.3 事务的使用 2.4 事务的特性…

黑马头条(学习笔记)

​ 目录 一. 项目概述 二、项目初始化 移动端 REM 适配: 关于 PostCSS 配置文件: Autoprefixer 插件的配置 : postcss-pxtorem 插件的配置: 关于字体图标: 配置路由: 封装请求模块: 三:登录注册&…

ChatGPT有话说:虚拟现实 VS 增强现实

以下内容均为ChatGPT根据用户引导和提示作出的阐述和说明。 一、引言 虚拟现实和增强现实是当前最受瞩目的创新技术。虚拟现实是指利用计算机生成的虚拟环境,用户可以通过佩戴VR头戴式显示器等设备完全沉浸在其中,感受到身临其境的感觉。而增强现实则是…

三分钟上手安全渗透系统Kali Linux

kali linux系统集成了常用的安全渗透工具,省去了安装工具的时间,做安全相关的工作是非常推荐使用的。 安装Kalii Linux 安装系统 一般使用虚拟机进行安装,Kali Linux基于Debian内核,虚拟机的操作系统选择Debian 7.x 64 选择系统…

【JAVA】用Java实现简易图书管理系统

【JAVA】用Java实现简易图书管理系统 1. 设计背景和系统功能和设计方法1.1设计背景1.2系统功能1.3设计方法 2. 设计思路3. 设计模块和代码实现3.1 Book类的实现3.2 BookList类的实现(书架)3.3 User类的实现(用户类)3.3.1 AdminUser(管理员类&…