| 
					
				 | 
			
			
				@@ -25,6 +25,9 @@ const getContenType = (filePath) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getPagePath = (filePath) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (process.platform === 'win32') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    filePath = filePath.replace(/\\/g, '/') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let meta = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     locale: 'en', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     path: _.initial(filePath.split('.')).join('') 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -194,7 +197,7 @@ module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           await WIKI.models.pages.updatePage({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             id: currentPage.id, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             title: _.get(pageData, 'title', currentPage.title), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            description: _.get(pageData, 'description', currentPage.description), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            description: _.get(pageData, 'description', currentPage.description) || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isPublished: _.get(pageData, 'isPublished', currentPage.isPublished), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isPrivate: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             content: pageData.content, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -209,7 +212,7 @@ module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             path: contentPath.path, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             locale: contentPath.locale, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             title: _.get(pageData, 'title', _.last(contentPath.path.split('/'))), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            description: _.get(pageData, 'description', ''), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            description: _.get(pageData, 'description', '') || '', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isPublished: _.get(pageData, 'isPublished', true), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isPrivate: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             content: pageData.content, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -230,6 +233,7 @@ module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           WIKI.logger.warn(`(STORAGE/GIT) Failed to open ${item.file}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          console.error(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           WIKI.logger.warn(err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -310,7 +314,47 @@ module.exports = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       '--author': `"${page.authorName} <${page.authorEmail}>"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * ASSET UPLOAD 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param {Object} asset Asset to upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async assetUploaded (asset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    WIKI.logger.info(`(STORAGE/GIT) Committing new file ${asset.path}...`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const filePath = path.join(this.repoPath, asset.path) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await fs.outputFile(filePath, asset, 'utf8') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await this.git.add(`./${asset.path}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await this.git.commit(`docs: upload ${asset.path}`, asset.path, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '--author': `"${asset.authorName} <${asset.authorEmail}>"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * ASSET DELETE 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param {Object} asset Asset to upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async assetDeleted (asset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    WIKI.logger.info(`(STORAGE/GIT) Committing removed file ${asset.path}...`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await this.git.rm(`./${asset.path}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await this.git.commit(`docs: delete ${asset.path}`, asset.path, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '--author': `"${asset.authorName} <${asset.authorEmail}>"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * ASSET RENAME 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   * @param {Object} asset Asset to upload 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+   */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  async assetRenamed (asset) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    WIKI.logger.info(`(STORAGE/GIT) Committing file move from ${asset.sourcePath} to ${asset.destinationPath}...`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await this.git.mv(`./${asset.sourcePath}`, `./${asset.destinationPath}`) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    await this.git.commit(`docs: rename ${asset.sourcePath} to ${asset.destinationPath}`, asset.destinationPath, { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      '--author': `"${asset.authorName} <${asset.authorEmail}>"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    * HANDLERS 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    */ 
			 |