【发布时间】:2018-05-17 15:13:58
【问题描述】:
我使用 Gulp 来运行 Jekyll。我的设置在 localhost 上运行良好,但是当我引入 Github Pages 时,相关链接停止工作。我使用gulp-gh-pages npm 包将_site 内容推送到gh-pages 分支。
gulpfile.js 与 Jekyll 和 Github 页面相关的内容:
var browserSync = require('browser-sync').create();
var gulp = require('gulp');
var runSequence = require('run-sequence');
var ghPages = require('gulp-gh-pages');
var gutil = require('gulp-util');
var run = require('gulp-run');
var del = require('del');
gulp.task('build:jekyll', function(callback) {
var shellCommand = 'jekyll build --incremental';
return gulp.src('')
.pipe(run(shellCommand))
.on('error', gutil.log);
callback();
});
gulp.task('clean', function() {
return del(['_site', 'assets']);
});
// [`build:scripts`, `build:styles`, `build:images`] is removed from the runSequence example for MVP
gulp.task('build:prod', function(callback) {
return runSequence('clean', 'build:jekyll', callback)
browserSync.reload();
});
gulp.task('deploy',['build:prod'], function(){
return gulp.src('./_site/**/*')
.pipe(ghPages());
});
config.yml的内容:
baseurl: /
collections:
pages:
output: true
permalink: /:title/
exclude: ["_assets", "gulpfile.js", "node_modules", "package.json", "package-lock.json", ".jekyll-metadata"]
对资产的引用:
<link rel="stylesheet" href="{{ site.baseurl }}assets/styles/main.min.css">
_pages目录内每一页的头条:
---
layout: page
title: Title
description: Awesome description
image: https://source.unsplash.com/random/?water
---
这里是我的 Github 存储库的链接以及完整的源代码:https://github.com/alljamin/portfolio
如何配置 Gulp 和 Jekyll,以便所有相关链接在本地和 Github 页面上都可以使用?
【问题讨论】:
标签: javascript gulp jekyll github-pages