做更好的自己!NAS部署wiki.js现代化知识管理工具,让知识上云!

news2024/9/23 5:28:04

知识管理是一个永恒的课题,各种方法、工具层出不穷。老Q这么多年也体验过了非常多的工具,这几年来,老Q使用的工具逐步从付费迁移到开源,从公有云迁移到私有云。前者是为了折(SHENG)腾 (QIAN),后者是为了安(SHENG )全(QIAN)。

今天,老Q为大家推荐一款非常好用的开源Wiki系统:wiki.js,它有着现代化的界面和强大的编辑功能,支持MarkdownLatex、流程图等。

仍以老Q的绿联DX4600为例,其他支持Docker的NAS中安装的流程也都大同小异。

一、安装wiki.js

首先从镜像管理中搜索并下载latest版本的wikijs镜像。

接下来,在本地镜像中找到刚才我们下载的镜像,并创建容器。

重启策略选择容器退出时总是重启容器

创建一个目录用于保存配置和数据文件。

设置一个自己喜欢的端口。

添加三个环境变量,分别是:

  • PGID=1000
  • PUID=1000
  • TZ=UTC+8

点击下一步并点击完成即可。

二、配置wiki.js

我们通过IP:端口来访问我们刚刚创建的容器服务,首次打开我们会进入安装界面。我们填写一下管理员邮箱、密码,并配置一下我们的访问链接。这里老Q已经配置好了反向代理,所以直接填写域名即可,如果没有配置反代的话,记得要把端口也加上。

填写完成后点击最下方的INSTALL开始安装。

稍等片刻就安装完成了,进入到登陆界面。我们输入账号密码并点击Log In

这样我们就进入到了欢迎页面,我们点击右侧的ADMINISTRATION进入管理后台。

首先我们配置下中文界面。我们点击左侧的Locale,然后在右侧找到简体中文(Chinese Simplified)并下载。下载完成后,我们在中间的Local Settings处选择中文,并点击右上角的APPLY

如果我们希望其他人也能访问我们的wiki.js网站,那么这里可以勾选开放注册。否则我们保持关闭即可。

为了多加一层保险,我们可以考虑开启GIT同步,把文章再同步到代码仓库一份。考虑到有这一诉求的朋友可能不太多,老Q就贴一下配置流程,不做详细阐述,大家有什么问题可以留言询问。

其他的配置哪怕不调整也不已经不影响基本使用了,但是如果我们有特殊诉求,我们可以按需进行调整。比如在网站分析中,我们可以配置百度统计和谷歌分析,以监测网站的访问情况。

三、使用wiki.js

我们点击左上角图标回到欢迎页,然后点击左侧的创建首页。

选择我们习惯使用的编辑器,比如老Q始终选择Markdown,毕竟它跨平台的排版稳定性实在是太让人无法割舍了。

填写一些基本信息,点击右上角OK。

左侧是Markdown的编辑器,右侧是实时的渲染效果。编辑完成后我们点击右上角的创建按钮。

我们看下效果,左侧是目录树,中间是文档大纲,右侧是文档内容,逻辑清晰,页面简单。整体的设计语言很简洁,符合老Q的审美习惯。

四、效果展示

老Q再添加一些页面,给大家看一下页面效果。实际上,如果不是老Q后来切换到了思源笔记(可以参见历史文章),那么wiki.js会是老Q非常喜欢的一款知识管理工具。

它不光能帮助我们管理知识,还能用来分享页面给其他人。

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

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

相关文章

红黑树的介绍和实现

文章目录1. 红黑树1.1 红黑树的概念1.2 红黑树的性质1.3 红黑树节点的定义1.4 红黑树的插入1.5 红黑树的验证1.6 红黑树与AVL树的比较1. 红黑树 1.1 红黑树的概念 红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,可以…

linux 内存泄露检测工具-Valgrind的使用

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。安装,我是先valgrind一下发现这个的版本apt install valgrind # version 1:3.15.0-1ubuntu9.1新建一个项目与添加一个main.c编辑main.c的代码:#include <stdio.h> /*标准输入输出定义*/ #incl…

springcloud3 GateWay

一 GateWay 1.1 GateWay的作用 gateway相当于所有服务的门户&#xff0c;将客户端请求与服务端应用相分离&#xff0c;客户端请求通过gateway后由定义的路由和断言进行转发&#xff0c;路由代表需要转发请求的地址&#xff0c;断言相当于请求这些地址时所满足的条件&#xff…

Mybatis中的一级缓存和二级缓存

Mybatis作为一款强大的ORM框架&#xff0c;其中也用到了缓存来加速查询&#xff0c;今天我们一起来探讨下。 Mybatis可以使用懒加载来提高查询的效率&#xff0c;并且可以通过缓存来提高查询的效率。其中包括有一级缓存和二级缓存。 一级缓存是sqlSession级别的缓存&#xff0c…

怎么给电脑分盘与合并磁盘?教你三招

电脑只有一个C盘&#xff0c;想要再分出一个或多个分区&#xff0c;怎么办&#xff1f;电脑C盘的容量太小&#xff0c;太容易满了&#xff0c;想重新分盘&#xff0c;或者把其他盘跟它合并&#xff0c;但因为文件太多备份实在是太麻烦&#xff0c;怎么办&#xff1f;怎么给电脑…

tomcat 启动时卡住问题排查

正常项目无法访问&#xff08;Linux 服务器&#xff09;&#xff0c;启动tomcat时卡在下图位置&#xff0c;项目无法启动。 1、先检查tomcat日志、项目日志没有报错信息&#xff0c;且没再产生新的日志信息。 2、jdk、tomcat 、 jvm 配置&#xff0c;服务器环境、内存、存储没…

论文阅读:Adversarial Cross-Modal Retrieval对抗式跨模式检索

Adversarial Cross-Modal Retrieval 对抗式跨模式检索 跨模态检索研究的核心是学习一个共同的子空间&#xff0c;不同模态的数据可以直接相互比较。本文提出了一种新的对抗性跨模态检索&#xff08;ACMR&#xff09;方法&#xff0c;它在对抗性学习的基础上寻求有效的共同子空间…

JVM学习笔记九:对象实例化与直接内存

0. 前言 声明&#xff1a; 感谢尚硅谷宋红康老师的讲授。 感谢广大网友共享的笔记内容。 B站&#xff1a;https://www.bilibili.com/video/BV1PJ411n7xZ 本文的内容基本来源于宋老师的课件&#xff0c;其中有一些其他同学共享的内容&#xff0c;也有一些自己的理解内容。 1. …

一文解码:如何在人工智能热潮下实现产业“智”变

近期由ChatGPT有关人工智能的话题引发了全民热议&#xff0c;在这股子浪潮下&#xff0c;讨论最多的话题就是ChatGPT的出现会为我们带来怎样的技术变革&#xff1f;是否会改变我们目前的生产方式&#xff1f;对于未来人工智能技术的发展&#xff0c;我们该如何客观看待&#xf…

Unity Lighting -- 使用Light Probes

什么是动态物体&#xff08;dynamic objects&#xff09; 到目前为止的例子中&#xff0c;我们场景中的所有东西都是静止的。但在实际的游戏或实时应用中&#xff0c;场景中有移动的物体很正常&#xff0c;比如走动的人或动物&#xff0c;汽车&#xff0c;飞机等&#xff0c;它…

MRCP在美团语音交互中的实践和应用

当你和智能语音机器人对话交互时&#xff0c;你是否好奇电话背后的机器人如何“听懂”你的意思&#xff0c;又如何像人一样“回答”你的问题&#xff1f;其中比较重要的技术就是 MRCP。本文主要介绍了 MRCP 在美团语音交互中的实践和应用&#xff0c;基于美团自研的语音识别及语…

动态规划入门经典问题讲解

最近开始接触动态规划问题&#xff0c;以下浅谈&#xff08;或回顾&#xff09;一下这些问题的求解过程。解题思路对于动态规划问题&#xff0c;由于最终问题的求解需要以同类子问题作为基础&#xff0c;故需要定义一个dp数组&#xff08;一维或二维&#xff09;来记录问题求解…

Vue 3.0 单文件组件 【Vue3 从零开始】

#介绍 在很多 Vue 项目中&#xff0c;我们使用 app.component 来定义全局组件&#xff0c;紧接着用 app.mount(#app) 在每个页面内指定一个容器元素。 这种方式在很多中小规模的项目中运作的很好&#xff0c;在这些项目里 JavaScript 只被用来加强特定的视图。但当在更复杂的…

[Java·算法·中等]LeetCode39. 组合总和

每天一题&#xff0c;防止痴呆题目示例分析思路1题解1分析思路2题解2&#x1f449;️ 力扣原文 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target &#xff0c;找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 &#xff0c;并以列表形…

Golang Map实现原理分析与解读

一、map的结构与设计原理 golang中map是一个kv对集合。底层使用hash table&#xff0c;用链表来解决冲突 &#xff0c;出现冲突时&#xff0c;不是每一个key都申请一个结构通过链表串起来&#xff0c;而是以bmap为最小粒度挂载&#xff0c;一个bmap可以放8个kv。在哈希函数的选…

配置临时SSL子域名泛化证书

配置临时SSL子域名泛化证书 三个月有效期第一步&#xff1a;访问SSL证书地址第二步&#xff1a;在华为云上/其他服务器上搜索DNS云解析服务类似的功能第三步&#xff1a;将SSL申请的信息添加到服务器的记录集中第四步&#xff1a;添加完信息进行保存获取key / crt第五步&#x…

蓝桥冲刺31天之第七天

目录 A&#xff1a;三角回文数 B&#xff1a;数数 C&#xff1a;数组切分 D&#xff1a;倍数问题 一星陨落&#xff0c;黯淡不了星空灿烂&#xff1b; 一花凋零&#xff0c;荒芜不了整个春天。 如果命运是世界上最烂的编剧&#xff0c; 你就要争取做人生最好的演员。 即使生…

06_02_Spark Streaming

Spark Streaming 课程目标 说出Spark Streaming的特点说出DStreaming的常见操作api能够应用Spark Streaming实现实时数据处理能够应用Spark Streaming的状态操作解决实际问题独立实现foreachRDD向mysql数据库的数据写入独立实现Spark Streaming对接kafka实现实时数据处理 1、…

打怪升级之CFileDialog类介绍

CFileDialog类 CFileDialog封装用于文件打开操作或文件保存操作的常见对话框。信息来源自Windows官方文档&#xff1a;https://learn.microsoft.com/zh-cn/cpp/mfc/reference/cfiledialog-class?viewmsvc-170 这里重点介绍几个常用的函数功能&#xff1a; 构造函数 explic…

当我在ChatGPT上问重建大师,它居然这样回答我

最近&#xff0c;ChatGPT风靡全球&#xff0c;现象级走红至各大社交媒体。作为最快突破1亿月活量的消费者应用&#xff0c;是怎么样理解重建大师的呢&#xff1f; 今天小编与ChatGPT展开对话&#xff0c;它告诉我&#xff1a; 短短不到一分钟时间&#xff0c;ChatGPT已经概括出…