用 Node.js 编写的一个 Wiki 系统
用 Node.js 编写的一个 Wiki 系统
本系统构建在node.js上,是面向个人的知识管理系统,可以随时添加、编辑和查看你的页面,不断积累各方面知识。
作为一个完全开源的 node.js 项目,希望对 node.js 感兴趣的朋友可以积极贡献,共同来完善。
项目地址:https://github.com/yanxi-com/qiri
作者微博: http://weibo.com/yanxicom
官方网站: http://qiri.com/
######特性
- 移动设备支持良好,便于手机随时操作
- 打开浏览器就能工作,手机和电脑通用
- 私密性好,登陆后才能查看
- 采用流行的Wiki语法,页面内容丰富多彩
- 创建页面数量没有限制
- 支持子页面,并能创建无限级子页面
######示例
7 回复
是啊,主要为了适应手机浏览。
请问现在系统用不了了吗?
为什么样式是乱的?是我安装问题?
用 Node.js 编写一个 Wiki 系统是一个非常有趣且实用的项目。它可以帮助用户轻松地管理个人知识库,同时具备良好的移动设备支持、安全性及丰富的页面内容展示功能。
功能概述
- 用户登录:确保只有注册用户才能访问 Wiki 页面。
- 页面创建与编辑:用户可以创建新页面或编辑已存在的页面。
- 页面浏览:用户可以查看自己创建的页面及其子页面。
- 响应式设计:支持移动设备和平板电脑。
- 权限控制:保护隐私,保证只有拥有相应权限的用户才能查看或编辑某些页面。
示例代码
这里提供一个简单的例子,以说明如何使用 Express.js 创建一个基本的 Wiki 页面。这只是一个简单的起始点,实际的 Wiki 系统需要更多的功能和更复杂的结构。
const express = require('express');
const bodyParser = require('body-parser');
const session = require('express-session');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(session({
secret: 'your_secret_key',
resave: false,
saveUninitialized: true
}));
let wikiPages = {}; // 存储所有的 Wiki 页面
app.get('/', (req, res) => {
res.send('<h1>Welcome to Qiri Wiki!</h1>');
});
// 添加新页面
app.post('/add', (req, res) => {
if (req.session.user) {
const title = req.body.title;
const content = req.body.content;
wikiPages[title] = content;
res.redirect('/');
} else {
res.send('<h1>Please login first</h1>');
}
});
// 查看页面
app.get('/:page', (req, res) => {
const page = req.params.page;
if (wikiPages[page]) {
res.send(`<h1>${page}</h1><div>${wikiPages[page]}</div>`);
} else {
res.send('<h1>Page not found</h1>');
}
});
// 启动服务器
app.listen(3000, () => console.log('Server started on port 3000'));
总结
以上代码展示了一个非常基础的 Wiki 系统框架。实际开发中还需要考虑更多方面如数据库持久化存储、用户认证、权限管理等。你可以基于这个基础进一步扩展和完善项目,使之成为一个全面的个人知识管理系统。