Node.js个人博客
创建一个简单的Node.js个人博客可以使用Express框架和Markdown来实现。以下是一个基本的示例:
- 初始化项目并安装依赖项:
mkdir personal-blog
cd personal-blog
npm init -y
npm install express markdown-it
- 创建一个名为
app.js
的文件,并写入以下代码:
const express = require('express');
const md = require('markdown-it')();
const app = express();
const port = 3000;
// 假设你的博客文章存储在博客文件夹中,每个文件是一篇博客
const blogs = [
{ title: 'Hello World', path: 'blog/hello-world.md' },
// 添加更多博客
];
app.set('view engine', 'ejs');
app.use(express.static('public'));
app.get('/', (req, res) => {
res.render('index', { blogs });
});
app.get('/blog/:blogTitle', (req, res) => {
const blog = blogs.find(b => req.params.blogTitle === b.title.toLowerCase().replace(/ /g, '-'));
if (blog) {
const content = md.render(require('fs').readFileSync(`${__dirname}/${blog.path}`, 'utf8'));
res.render('blog', { content });
} else {
res.send('Blog not found');
}
});
app.listen(port, () => {
console.log(`Blog running on port ${port}`);
});
- 在
personal-blog
目录中创建views
文件夹,然后创建index.ejs
和blog.ejs
文件。
index.ejs
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My Blog</title>
</head>
<body>
<h1>My Blog</h1>
<% blogs.forEach(blog => { %>
<h2><a href="/blog/<%= blog.title %>"><%= blog.title %></a></h2>
<% }); %>
</body>
</html>
blog.ejs
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title><%= title %></title>
</head>
<body>
<%= content %>
</body>
</html>
- 将你的博客文章作为Markdown文件放入
blog
文件夹中,例如hello-world.md
。 - 运行你的博客:
node app.js
打开浏览器,访问 http://localhost:3000
查看你的个人博客。
这个简单的博客示例使用Express提供网页,并使用EJS作为模板引擎来动态渲染博客文章。Markdown-it用于将Markdown转换为HTML。这个例子没有涉及数据库管理、用户注册、登录等功能,因此仅适合作为基础学习使用。
评论已关闭