1

我有两个存储库:

  1. 一个包含 Nodejs 源代码和降价文件的 Vuepress 项目。
  2. 从 Vuepress 构建的静态 Github 页面。

因此,如果我创建一个新的 markdown 帖子,我需要运行一个shell来构建静态文件并将其上传到第二个 Github-pages 存储库。

我想知道是否可以在线执行此操作,例如:

  1. 在 Github 网页中创建一个 markdown 文件。
  2. 在线重建项目(使用 shell 或脚本?)。
  3. 使用生成的静态 HTML/CSS 文件更新 Github 页面。
4

1 回答 1

0

我使用这个 .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");

请记住必须安装shelljsgh-pages 。

这是做什么的:

  • 构建 Vuepress
  • 将dist从 master发布到 gh-pages。.gitignore 可以忽略 dist 文件夹。

现在要使用它,请在终端上运行以下命令:

./path/to/file.js

我确信这可以用 shell 来完成,但这对我来说非常有效。从理论上讲,只需一个命令,您就可以 lint JS 和 CSS、构建 Vuepress、更新版本、推送到 gh-pages、推送到 master 并发布到 npm。

于 2018-08-23T13:27:27.407 回答