我有两个存储库:
- 一个包含 Nodejs 源代码和降价文件的 Vuepress 项目。
- 从 Vuepress 构建的静态 Github 页面。
因此,如果我创建一个新的 markdown 帖子,我需要运行一个shell来构建静态文件并将其上传到第二个 Github-pages 存储库。
我想知道是否可以在线执行此操作,例如:
- 在 Github 网页中创建一个 markdown 文件。
- 在线重建项目(使用 shell 或脚本?)。
- 使用生成的静态 HTML/CSS 文件更新 Github 页面。
我有两个存储库:
因此,如果我创建一个新的 markdown 帖子,我需要运行一个shell来构建静态文件并将其上传到第二个 Github-pages 存储库。
我想知道是否可以在线执行此操作,例如:
我使用这个 .js 代码:
#!/usr/bin/env node
const shell = require("shelljs");
const ghpages = require("gh-pages");
// Variables
const distDirectory = "docs/.vuepress/dist";
const commitMessage = "Site update";
// Exit if there is any error
shell.set("-e");
// Build Vuepress
shell.exec("vuepress build docs");
// Publish to GitHub Pages
ghpages.publish(distDirectory, {
message: commitMessage
}, function(err) {
if (err) {
console.log(err);
shell.exit(1);
}
});
// Message when succesfully completed
console.log("\nDocumentation has been successfully updated\n");
请记住必须安装shelljs和gh-pages 。
这是做什么的:
现在要使用它,请在终端上运行以下命令:
./path/to/file.js
我确信这可以用 shell 来完成,但这对我来说非常有效。从理论上讲,只需一个命令,您就可以 lint JS 和 CSS、构建 Vuepress、更新版本、推送到 gh-pages、推送到 master 并发布到 npm。