开源知识库平台Raneto

news2025/7/18 19:30:09

在这里插入图片描述

什么是 Raneto ?

Raneto 是一个开源知识库平台,它使用静态 Markdown 文件来支持您的知识库。

官方提供了 doc & demo 网站,即是帮助文档,也是个 demo,地址:https://docs.raneto.com

准备

项目使用config.js 做为设置文件,该文件的源码地址:https://raw.githubusercontent.com/ryanlelek/Raneto/master/config/config.js

  • 记得用 UTF-8 编码格式保存,因为你可能会用中文的标题等;
  • 每次修改之后,要重启容器才能生效;

首先有几处需要修改的地方:

  1. 修改站点标题

例如:将site_title: 'Raneto Docs'改成 site_title: '老苏的测试站点'

  1. 修改用户名和密码

默认内置了 2 个用户,建议修改

  credentials: [
    {
      username: 'admin',
      password: 'password',
    },
    {
      username: 'admin2',
      password: 'password',
    },
  ],
  1. 修改语言,使之支持中文

默认是英文

  locale: 'en',

  // Support search with extra languages
  searchExtraLanguages: ['ru'],

老苏改为了

  locale: 'zh',

  // Support search with extra languages
  searchExtraLanguages: ['zh'],

修改后的文件,老苏放在了 https://github.com/wbsu2003/synology/blob/main/Raneto/config.js,方便你需要的时候做对照

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 raneto ,下翻找到 raneto/raneto,版本选择 latest

docker 文件夹中,创建一个新文件夹 raneto,并在其中建两个子文件夹 configcontent,将前面准备的 config.js 放入 config 目录

文件夹装载路径说明
docker/raneto/config/opt/raneto/config存放设置文件
docker/raneto/content/opt/raneto/content存放 markdown文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
38443000

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 raneto 和 子目录
mkdir -p /volume1/docker/raneto/{config,content/{pages,static}}

# 进入 raneto 目录
cd /volume1/docker/raneto

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name raneto \
   -p 3844:3000 \
   -v $(pwd)/config:/opt/raneto/config \
   -v $(pwd)/content:/opt/raneto/content \
   raneto/raneto:latest

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

version: "2.1"

services:
  raneto:
    image: raneto/raneto:latest
    container_name: raneto
    restart: unless-stopped
    ports:
      - 3844:3000
    volumes:
      - ./config:/opt/raneto/config
      - ./content:/opt/raneto/content

然后执行下面的命令

# 新建文件夹 raneto 和 子目录
mkdir -p /volume1/docker/raneto/{config,content/{pages,static}}

# 进入 raneto 目录
cd /volume1/docker/raneto

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

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

login

用户密码正确的话,会显示

登录成功后的主界面其实还是一样的,只是在进入页面后,会有编辑权限

接下来在 /content/pages 中放入 markdown 文件或者目录即可

页面排序

每个页面可以包含有关该页面的可选元数据。

  • Title - 此变量将覆盖基于文件名的标题;
  • Description - 此变量将提供要搜索的描述;
  • Sort - 此变量将影响类别内页面的排序;
  • ShowOnHome - 可选。如果为 false,页面将不会在主页上列出。可以通过更改config.show_on_home_default调整默认行为;
  • Modified - 此变量将覆盖基于文件名的修改日期。

下面是一个示例的 markdown 文件,文件名为 根目录2.md

---
Title: 根目录第二篇
Sort: 1
---

根目录第二篇,但显示为第一位;

所以显示效果是下面👇这样的

目录排序

目录显示出来实际上就是分类,你可以在当前文件夹中增加一个名称为 meta 的文件

  • Title - 此变量将覆盖基于文件夹名称的标题;
  • Sort - 此变量将影响分类(目录)的排序;
  • ShowOnHome - 可选。如果为 false,将不会显示在主页上。可以通过更改config.show_on_home_default 调整默认行为;
  • Description - 可选。该变量将提供在模板中使用的变量,例如在主页中,以增强和阐明类别的内容。

下面是一个示例的 meta 文件

Title: 安装使用
Sort: 1

如果不需要变更分类名称,可以更简单的提供一个 sort 文件,文件中只要写排序就行

2

展示效果

重启容器后的显示效果

点开进入

登录之后有编辑权限

注意事项

但凡文件中有中文的,一定要用 UTF-8 编码格式保存,否则页面上就会出现乱码,切记切记~

参考文档

ryanlelek/Raneto: Markdown powered Knowledgebase Wiki for Node.js
地址:https://github.com/ryanlelek/Raneto

Raneto - Markdown Knowledgebase for Node.js
地址:https://raneto.com/

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

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

相关文章

摆动输入连杆夹持机构

1、运动与受力分析 import sympy as sy import numpy as np import matplotlib.pyplot as plt a,a1,b,b1,c,c1,d2,d3,fi,F,L,e sy.symbols(a,a1,b,b1,c,c1,d2,d3,fi,F,L,e)A(-d2,0) D(0,d3) B(-d2a*cos(fi),a*sin(fi)) C(-c*cos(pu),d3c*sin(pu)) B(-d2a*cos(fipi),a*sin(fipi…

K8S原理架构与实战教程

文章目录 一、背景1.1 物理机时代、虚拟机时代、容器化时代1.2 容器编排的需要 二、K8S架构2.2 Worker节点 三、核心概念3.1 Pod3.2 Deployment3.3 Service3.4 Volume3.5 Namespace 四、K8S安装五、kubectl常用命令六、K8S实战6.1 水平扩容6.2 自动装箱6.2.1 节点污点6.2.2 Pod…

Java多线程(二)线程安全

线程安全 线程安全(风险) 线程不安全的原因: 解决线程不安全: synchronized 内存刷新 可重入 volatile 关键字 wait 和 notify wait() notify () wait与sleep的区别&…

C# OpenVino Yolov8 Seg 分割

效果 项目 代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using OpenCvSharp;namespace OpenVino_Yolov8_Demo {public…

30天入门Python(基础篇)——第2天:Python安装(保姆级)与IDE的认识与选择+详细安装教程

文章目录 专栏导读上一节课回顾1、Python解释器的安装查看各个版本的Python解释器①、ok,双击安装②、这里我们选择【自定义】安装, 下面的【将Python添加在环境变量】大家一定要打个勾③、点击【Next】进行下一步④、这里不建议安装在C盘, 点击【Browse】我在F盘创…

『SpringBoot 源码分析』run() 方法执行流程:(3)刷新应用上下文-处理 @ComponentScan 注解

『SpringBoot 源码分析』run() 方法执行流程:(3)刷新应用上下文-处理 ComponentScan 注解 基于 2.2.9.RELEASE问题:当方法进行了注释标记之后,springboot 又是怎么注入到容器中并创建类呢? 首先创建测试主…

linux--进程--system与popen函数

1.system #include <stdlib.h>int system(const char *command); 返回值&#xff1a; 成功&#xff0c;则返回进程的状态值&#xff1b;不能源码execl函数&#xff0c;返回127&#xff1b;失败返回-1&#xff1b; 不能成功运行分析文章&#xff1a;linux下system函数详…

Java网络编程(二)Socket 套接字(TCP和UDP),以及TCP的回显

Socket 套接字 我们软件工作者&#xff0c;着重编写的是应用层的代码&#xff0c;但是发送这个数据&#xff0c;我们就需要将应用层传输到传输层&#xff0c;也就意味着我们需要调用应用层的API&#xff0c;统称为 Socket API。 套接字的分类&#xff1a; 流套接字&#xff…

2023数学建模国赛B题完整论文来啦!(含一二问求解代码及三四问仿真模拟代码)

大家好呀&#xff0c;从昨天发布赛题一直到现在&#xff0c;总算完成了全国大学生数学建模竞赛B题完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 说实话团队通宵一直到现在做…

汇川PLC学习Day1:跑马灯程序编写

汇川PLC学习Day1&#xff1a;跑马灯程序编写 一、 软件安装 进入官网下载软件 二、 使用帮助 三、 新建工程与功能代码实现 CtrlN 寻找内带输出模块的CPU并设置好工程名字与保存路径&#xff0c;语言选择想熟悉的类型 工程建立后&#xff0c;PLC_PRG即为用户编写程序文件…

【疑难杂症】解决 git 文件夹不显示绿色图标和红色图标的问题

目录 一、问题描述 二、问题解决前提 【2.1】首先保证电脑本机上有TortoiseGit这个软件 【2.2】TortoiseGit下载官网 【2.3】根据自己电脑位数进行下载&#xff0c;这里下载的是64位 【2.4】下载好之后&#xff0c;一路next进行安装&#xff0c;配置自己的邮箱和用户名 …

uni-app:重置表单数据

效果 代码 <template><form><input type"text" v-model"inputValue" placeholder"请输入信息"/><input type"text" v-model"inputValue1" placeholder"请输入信息"/><input type&quo…

用Python登录账户

1 问题 如何利用python登录账户&#xff1f; 2 方法 账户和密码存放在文件夹中从文件夹中读取并比较密码密文验证三次后&#xff0c;如不成功则锁定用户 通过。。。。。。。。等证明提出的方法是有效的&#xff0c;能够解决开头提出的问题。 代码清单 1 import osimport getpas…

FGO:使用chaIdea获取抽卡数据(mitmproxy抓包)

需求描述 最近逛贴吧看到好多master贴出自己的抽卡概率截图&#xff0c;本非洲杂鱼master也对自己的脸黑程度产生了好奇&#xff08;曾经15单芭娜娜池子1五星&#xff0c;6单道满池子1五星&#xff0c;梅莉池子330抽1五星&#xff0c;最近的芭娜娜复刻又330抽1五星&#xff09…

流程图用什么软件做比较好?这几个实用软件了解下

流程图用什么软件做比较好&#xff1f;流程图的制作对于企业管理、项目管理、产品设计等领域都非常重要。制作流程图可以帮助我们更好地理解事物之间的关系和流程&#xff0c;从而规划和组织工作。因此&#xff0c;选择一个合适的流程图软件是非常必要的。下面就给大家介绍几种…

C++中使用R“()“标记符书写多行字符串

在C#中使用表示的字符串能够跨越数行。用于在C#中写JS或SQL代码比较方便。 string sqlInsert "INSERT INTO tb_param(protocol, slave, number, ptype, pid, name, format) VALUES(2, 24, 0, 1, 1, a04005, .3);INSERT INTO tb_param(protocol, slave, number, ptype, …

day52(补)

300.最长递增子序列 力扣题目链接(opens new window) 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2…

ZFS了解

存储数据的管理通常涉及两个方面:对一个或多个块存储设备(如硬盘驱动器和SD卡)进行物理卷管理&#xff0c;并将它们组织成操作系统所看到的逻辑块设备(通常涉及卷管理器、RAID控制器、阵列管理器或合适的设备驱动程序)&#xff0c;以及对存储在这些逻辑块设备(文件系统或其他数…

使用 System.exit() 来优雅地终止 Spring Boot 项目

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; 使用 System.exit() 来优雅地终止 Spring Boot 项目 ⏱️ 创作时间&am…

智安网络|面临日益增长的安全威胁:云安全和零信任架构的重要性

随着云计算技术的快速发展和广泛应用&#xff0c;云安全和零信任架构变得愈发重要。在数字化时代&#xff0c;云计算技术得到了广泛的应用和推广。企业和组织借助云服务提供商的强大能力&#xff0c;实现了高效、灵活和可扩展的IT基础设施。然而&#xff0c;随着云环境的快速发…