66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			66 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| import { fragmentFormats } from "../struct/fragment.js";
 | |
| 
 | |
| export const FileHelper = {
 | |
|     isContent(fileEnt) {
 | |
|         return this.isFragment(fileEnt);
 | |
|     },
 | |
| 
 | |
|     isFragment(fileEnt) {
 | |
|         if(!fileEnt.isFile()) {
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
|         const contentExtensions = [
 | |
|             '.vs.md',
 | |
|             '.vs.html',
 | |
|         ];
 | |
| 
 | |
|         const matchesAnyContentExtensions = contentExtensions.some(
 | |
|             (ext) => fileEnt.name.endsWith(ext)
 | |
|         );
 | |
| 
 | |
|         return matchesAnyContentExtensions;
 | |
|     },
 | |
| 
 | |
|     isSettingsFile(fileEnt) {
 | |
|         if(!fileEnt.isFile()) {
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
|         return fileEnt.name === '_settings.json';
 | |
|     },
 | |
| 
 | |
|     getFragmentType(fileEnt) {
 | |
|         const filePath = fileEnt.name;
 | |
|         
 | |
|         if(filePath.endsWith('.vs.md')) {
 | |
|             return fragmentFormats.V_MARKDOWN;
 | |
|         }
 | |
| 
 | |
|         if(filePath.endsWith('.vs.html')) {
 | |
|             return fragmentFormats.V_HTML;
 | |
|         }
 | |
| 
 | |
|         return null;
 | |
|     },
 | |
| 
 | |
|     getOutputFileName(fileEnt) {
 | |
|         if(this.isContent(fileEnt)) {
 | |
|             const stripped = this.getBaseName(fileEnt);
 | |
| 
 | |
|             return `${stripped}.html`;
 | |
|         } else {
 | |
|             return fileEnt.name;
 | |
|         }
 | |
|     },
 | |
| 
 | |
|     getBaseName(fileEnt) {
 | |
|         const isMd = (this.getFragmentType(fileEnt) === fragmentFormats.V_MARKDOWN);
 | |
|         const ext = isMd ? '.vs.md' : '.vs.html';
 | |
| 
 | |
|         const idx = fileEnt.name.lastIndexOf(ext);
 | |
|         const stripped = fileEnt.name.substring(0, idx);
 | |
| 
 | |
|         return stripped;
 | |
|     }
 | |
| } | 
