aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gulpfile.babel.js45
-rw-r--r--package.json1
-rw-r--r--src/cms/config.yml (renamed from site/static/admin/config.yml)2
-rw-r--r--src/cms/index.html (renamed from site/static/admin/index.html)0
-rw-r--r--yarn.lock57
5 files changed, 74 insertions, 31 deletions
diff --git a/gulpfile.babel.js b/gulpfile.babel.js
index f297fdb..3d214b8 100644
--- a/gulpfile.babel.js
+++ b/gulpfile.babel.js
@@ -10,8 +10,8 @@ import webpackConfig from "./webpack.conf";
import svgstore from "gulp-svgstore";
import svgmin from "gulp-svgmin";
import inject from "gulp-inject";
+import replace from "gulp-replace";
import cssnano from "cssnano";
-import uncss from "postcss-uncss";
const browserSync = BrowserSync.create();
const hugoBin = `./bin/hugo.${process.platform === "windows" ? "exe" : process.platform}`;
@@ -20,7 +20,19 @@ const defaultArgs = ["-d", "../dist", "-s", "site"];
gulp.task("hugo", (cb) => buildSite(cb));
gulp.task("hugo-preview", (cb) => buildSite(cb, ["--buildDrafts", "--buildFuture"]));
-gulp.task("build", ["css", "js", "hugo"]);
+gulp.task("cms", () => {
+ const match = process.env.REPOSITORY_URL ? process.env.REPOSITORY_URL : cp.execSync("git remote -v", {encoding: "utf-8"});
+ let repo = null;
+ match.replace(/github.com:(.+?)\.git/, (_, m) => {
+ repo = m;
+ });
+ gulp.src("./src/cms/*")
+ .pipe(replace("<% GITHUB_REPOSITORY %>", repo))
+ .pipe(gulp.dest("./dist/admin"))
+ .pipe(browserSync.stream());
+});
+
+gulp.task("build", ["css", "js", "hugo", "cms"]);
gulp.task("build-preview", ["css", "js", "hugo-preview"]);
gulp.task("css", () => (
@@ -29,7 +41,6 @@ gulp.task("css", () => (
cssImport({from: "./src/css/main.css"}),
cssnext(),
cssnano(),
- // uncss({ html: ['./site/**/*.html']})
]))
.pipe(gulp.dest("./dist/css"))
.pipe(browserSync.stream())
@@ -49,24 +60,23 @@ gulp.task("js", (cb) => {
});
});
-gulp.task('svg', () => {
- const svgs = gulp
- .src('site/static/img/icons/*.svg')
- .pipe(svgmin())
- .pipe(svgstore({ inlineSvg: true }));
+gulp.task("svg", () => {
+ const svgs = gulp
+ .src("site/static/img/icons/*.svg")
+ .pipe(svgmin())
+ .pipe(svgstore({inlineSvg: true}));
- function fileContents(filePath, file) {
- return file.contents.toString();
- }
+ function fileContents(filePath, file) {
+ return file.contents.toString();
+ }
- return gulp
- .src('site/layouts/partials/svg.html')
- .pipe(inject(svgs, { transform: fileContents }))
- .pipe(gulp.dest('site/layouts/partials/'));
- browserSync.reload();
+ return gulp
+ .src("site/layouts/partials/svg.html")
+ .pipe(inject(svgs, {transform: fileContents}))
+ .pipe(gulp.dest("site/layouts/partials/"));
});
-gulp.task("server", ["hugo", "css", "js", "svg"], () => {
+gulp.task("server", ["hugo", "css", "js", "svg", "cms"], () => {
browserSync.init({
server: {
baseDir: "./dist"
@@ -74,6 +84,7 @@ gulp.task("server", ["hugo", "css", "js", "svg"], () => {
});
gulp.watch("./src/js/**/*.js", ["js"]);
gulp.watch("./src/css/**/*.css", ["css"]);
+ gulp.watch("./src/cms/*", ["cms"]);
gulp.watch("./site/static/img/icons/*.svg", ["svg"]);
gulp.watch("./site/**/*", ["hugo"]);
});
diff --git a/package.json b/package.json
index 9deda57..3fb4e88 100644
--- a/package.json
+++ b/package.json
@@ -34,6 +34,7 @@
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2",
"gulp-postcss": "^6.1.1",
+ "gulp-replace": "^0.5.4",
"gulp-util": "^3.0.7",
"imports-loader": "^0.6.5",
"netlify-cms": "^0.3.9",
diff --git a/site/static/admin/config.yml b/src/cms/config.yml
index 9ecf53b..3b209aa 100644
--- a/site/static/admin/config.yml
+++ b/src/cms/config.yml
@@ -1,6 +1,6 @@
backend:
name: github
- repo: netlify-templates/kaldi-hugo-cms-template # Path to your Github repository
+ repo: <% GITHUB_REPOSITORY %> # Gulp will replace this with your GitHub repository
branch: master # Branch to update (master by default)
media_folder: "dist/img" # Folder where user uploaded files should go
diff --git a/site/static/admin/index.html b/src/cms/index.html
index baa6e33..baa6e33 100644
--- a/site/static/admin/index.html
+++ b/src/cms/index.html
diff --git a/yarn.lock b/yarn.lock
index d0895c7..0f57428 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1158,6 +1158,10 @@ binary-extensions@^1.0.0:
version "1.8.0"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
+binaryextensions@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755"
+
bl@^1.0.0, bl@~1.0.0:
version "1.0.3"
resolved "https://registry.yarnpkg.com/bl/-/bl-1.0.3.tgz#fc5421a28fd4226036c3b3891a66a25bc64d226e"
@@ -2106,14 +2110,14 @@ domain-browser@^1.1.1:
version "1.1.7"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
-domelementtype@1, domelementtype@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
-
-domelementtype@~1.1.1:
+domelementtype@1, domelementtype@~1.1.1:
version "1.1.3"
resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b"
+domelementtype@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2"
+
domhandler@2.3, domhandler@^2.3.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.3.0.tgz#2de59a0822d5027fabff6f032c2b25a2a8abe738"
@@ -2380,7 +2384,7 @@ escape-html@~1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
+escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -3218,6 +3222,14 @@ gulp-postcss@^6.1.1:
postcss-load-config "^1.1.0"
vinyl-sourcemaps-apply "^0.2.1"
+gulp-replace@^0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-0.5.4.tgz#69a67914bbd13c562bff14f504a403796aa0daa9"
+ dependencies:
+ istextorbinary "1.0.2"
+ readable-stream "^2.0.1"
+ replacestream "^4.0.0"
+
gulp-svgmin@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/gulp-svgmin/-/gulp-svgmin-1.2.3.tgz#88947b132e15b2de43d1dbccb30455319c5e50b5"
@@ -3943,6 +3955,13 @@ istanbul@^0.4.5:
which "^1.1.1"
wordwrap "^1.0.0"
+istextorbinary@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-1.0.2.tgz#ace19354d1a9a0173efeb1084ce0f87b0ad7decf"
+ dependencies:
+ binaryextensions "~1.0.0"
+ textextensions "~1.0.0"
+
jest-changed-files@^17.0.2:
version "17.0.2"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-17.0.2.tgz#f5657758736996f590a51b87e5c9369d904ba7b7"
@@ -5040,9 +5059,9 @@ netlify-auth-js@^0.5.5:
dependencies:
micro-api-client "^2.0.0"
-netlify-cms@^0.3.8:
- version "0.3.8"
- resolved "https://registry.yarnpkg.com/netlify-cms/-/netlify-cms-0.3.8.tgz#77d09d66afb9e5be5a5cf3ce937b738a9d67d581"
+netlify-cms@^0.3.9:
+ version "0.3.9"
+ resolved "https://registry.yarnpkg.com/netlify-cms/-/netlify-cms-0.3.9.tgz#972b22527b5f33303cdd2ee9d9cea2cfd274d1aa"
dependencies:
"@kadira/storybook" "^1.36.0"
autoprefixer "^6.3.3"
@@ -6301,11 +6320,11 @@ qs@6.2.0:
version "6.2.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.0.tgz#3b7848c03c2dece69a9522b0fae8c4126d745f3b"
-qs@6.2.1, qs@^6.1.0:
+qs@6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"
-"qs@>= 0.4.0", qs@^6.2.0, qs@~6.3.0:
+"qs@>= 0.4.0", qs@^6.1.0, qs@^6.2.0, qs@~6.3.0:
version "6.3.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.3.1.tgz#918c0b3bcd36679772baf135b1acb4c1651ed79d"
@@ -6831,13 +6850,21 @@ replace-ext@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
+replacestream@^4.0.0:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.2.tgz#0c4140707e4f0323f50de044851708cf58bc37bd"
+ dependencies:
+ escape-string-regexp "^1.0.3"
+ object-assign "^4.0.1"
+ readable-stream "^2.0.2"
+
request-progress@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08"
dependencies:
throttleit "^1.0.0"
-request@2.78.0:
+request@2.78.0, request@^2.67.0:
version "2.78.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc"
dependencies:
@@ -6862,7 +6889,7 @@ request@2.78.0:
tough-cookie "~2.3.0"
tunnel-agent "~0.4.1"
-request@^2.58.0, request@^2.67.0, request@^2.74.0, request@^2.79.0, request@~2.79.0:
+request@^2.58.0, request@^2.74.0, request@^2.79.0, request@~2.79.0:
version "2.79.0"
resolved "https://registry.yarnpkg.com/request/-/request-2.79.0.tgz#4dfe5bf6be8b8cdc37fcf93e04b65577722710de"
dependencies:
@@ -7674,6 +7701,10 @@ textarea-caret-position@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/textarea-caret-position/-/textarea-caret-position-0.1.1.tgz#34372aa755008b1a8451b8a1bb8f07795270fd70"
+textextensions@~1.0.0:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-1.0.2.tgz#65486393ee1f2bb039a60cbba05b0b68bd9501d2"
+
tfunk@^3.0.1:
version "3.1.0"
resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b"