悠悠楠杉
网站页面
javascript
// Express路由示例
app.post('/generate-markdown', (req, res) => {
const title = req.body.title;
const keywords = req.body.keywords.split(',');
const description = req.body.description;
const content = req.body.content;
const markdown = generateMarkdown(title, keywords, description, content);
res.send(markdown);
});
marked
库将普通文本转换为Markdown格式。javascript
const marked = require('marked');
marked.setOptions({
renderer: new marked.Renderer(),
langPrefix: 'language-',
pedantic: false,
gfm: true,
breaks: false,
sanitize: true,
smartLists: true,
smartypants: false,
highlight: function(code, lang) {
const language = lang ? lang : 'plaintext'; // 无语言指定时默认为纯文本高亮
return require('highlight.js').highlight(code, { language }).value; // 使用highlight.js进行代码高亮
}
});
function generateMarkdown(title, keywords, description, content) {
let markdownContent = `# ${title}\n\n${keywords.join(', ')}\n\n${description}\n\n${content}`;
return marked(markdownContent); // 转换为Markdown格式的字符串
}
html
<!DOCTYPE html>
<html>
<head>
<title>Markdown Generator</title>
</head>
<body>
<h1>Generate Markdown</h1>
<form action="/generate-markdown" method="post">
<label for="title">Title:</label><br>
<input type="text" id="title" name="title"><br>
<label for="keywords">Keywords (comma separated):</label><br>
<input type="text" id="keywords" name="keywords"><br>
<label for="description">Description:</label><br>
<textarea id="description" name="description"></textarea><br>
<label for="content">Content (up to 1000 words):</label><br>
<textarea id="content" name="content" rows="20"></textarea><br>
<input type="submit" value="Generate Markdown">
</form>
</body>
</html>