소스 검색

Added offline mode (no remote git sync)

NGPixel 8 년 전
부모
커밋
8af9212837
3개의 변경된 파일18개의 추가작업 그리고 2개의 파일을 삭제
  1. 2 0
      CHANGELOG.md
  2. 1 0
      controllers/pages.js
  3. 15 2
      libs/git.js

+ 2 - 0
CHANGELOG.md

@@ -3,6 +3,8 @@ All notable changes to this project will be documented in this file.
 This project adheres to [Semantic Versioning](http://semver.org/).
 
 ## [Unreleased]
+### Added
+- Offline mode (no remote git sync) can now be enabled by setting `git: false` in config.yml
 
 ## [v1.0-beta.4] - 2017-02-11
 ### Fixed

+ 1 - 0
controllers/pages.js

@@ -186,6 +186,7 @@ router.get('/*', (req, res, next) => {
         newpath: safePath
       })
     }
+    return true
   }).catch((err) => {
     res.render('error', {
       message: err.message,

+ 15 - 2
libs/git.js

@@ -51,8 +51,10 @@ module.exports = {
 
     // Define signature
 
-    self._signature.name = appconfig.git.signature.name || 'Wiki'
-    self._signature.email = appconfig.git.signature.email || 'user@example.com'
+    if (appconfig.git) {
+      self._signature.name = appconfig.git.signature.name || 'Wiki'
+      self._signature.email = appconfig.git.signature.email || 'user@example.com'
+    }
 
     return self
   },
@@ -86,6 +88,11 @@ module.exports = {
         self._repo.exists = false
       })
     }).then(() => {
+      if (appconfig.git === false) {
+        winston.info('[' + PROCNAME + '][GIT] Remote syncing is disabled. Not recommended!')
+        return Promise.resolve(true)
+      }
+
       // Initialize remote
 
       let urlObj = URL.parse(appconfig.git.url)
@@ -144,6 +151,12 @@ module.exports = {
   resync () {
     let self = this
 
+    // Is git remote disabled?
+
+    if (appconfig.git === false) {
+      return Promise.resolve(true)
+    }
+
     // Fetch
 
     winston.info('[' + PROCNAME + '][GIT] Performing pull from remote repository...')