parent
							
								
									4a5f2340b0
								
							
						
					
					
						commit
						d59a097ff7
					
				| @ -0,0 +1,16 @@ | ||||
| { | ||||
|     "log": { | ||||
|         "Changelogs": [ | ||||
|             "Added this changelog!", | ||||
|             "Dynamically displays changelog information from multiple versions" | ||||
|         ], | ||||
|         "Dev stuff": [ | ||||
|             "Added a tool to create changelogs for me!", | ||||
|             "I'm really lazy :)" | ||||
|         ] | ||||
|     }, | ||||
|     "version": { | ||||
|         "name": "Alpha", | ||||
|         "semver": "1.3.7" | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,44 @@ | ||||
| const readline = require('readline'); | ||||
| const fs = require('fs'); | ||||
| const cp = require('child_process'); | ||||
| 
 | ||||
| const rl = readline.createInterface({input: process.stdin, output: process.stdout}); | ||||
| const input = async question => {return new Promise(r => {rl.question(question, (ans) => {r(ans);});});}; | ||||
| 
 | ||||
| let cl = {}; | ||||
| let v; | ||||
| 
 | ||||
| const ask = async () => { | ||||
|     const addGroup = async () => { | ||||
|         let conf = await input("\nWould you like to add a new group? "); | ||||
|         if (['y', 'ye', 'yes', 'sure'].includes(conf.trim().toLowerCase())) { | ||||
|             let gn = await input("What is the group's name? "); | ||||
|             cl[gn] = []; | ||||
|             const addItem = async () => { | ||||
|                 let item = await input("Add an item: "); | ||||
|                 if (item.trim().toLowerCase() !== "done") { | ||||
|                     cl[gn].push(item); | ||||
|                     await addItem(); | ||||
|                 } | ||||
|             }; | ||||
|             await addItem(); | ||||
|             await addGroup(); | ||||
|         } | ||||
|     }; | ||||
| 
 | ||||
|     v = await input('What version are you making a changelog for? '); | ||||
|     await addGroup(); | ||||
| 
 | ||||
|     fs.writeFileSync(`./json/changelogs/${v.trim().toLowerCase()}.json`, JSON.stringify({log: cl, version: {name: "Alpha", semver: v}})); | ||||
| 
 | ||||
|     await input("I've made the changelog for you! Press enter when you're ready to create the release tag."); | ||||
| 
 | ||||
|     cp.exec(`npm version ${v.trim().toLowerCase()}`, function(error, stdout, stderr) { | ||||
|         if (error) {console.error(error);} | ||||
|         if (stdout) {console.log(stdout);} | ||||
|         if (stdout) {console.log(stderr);} | ||||
|     }); | ||||
| 
 | ||||
|     console.log('\nDone!'); | ||||
| }; | ||||
| ask(); | ||||
| @ -0,0 +1,73 @@ | ||||
| const fs = require('fs'); | ||||
| const Mousetrap = require('../dep/mousetrap'); | ||||
| 
 | ||||
| const preModal = require('../modal/pre'); | ||||
| const postModal = require('../modal/post'); | ||||
| 
 | ||||
| const changelogs = fs.readdirSync('./json/changelogs').filter(file => file.endsWith('.json')); | ||||
| 
 | ||||
| module.exports = () => { | ||||
|     if (window.kade.modal) {return;} | ||||
|     preModal('changelog-modal'); | ||||
|     let modalOut = document.createElement('div'); | ||||
|     modalOut.className = 'modal'; | ||||
|     modalOut.id = 'changelog-modal'; | ||||
|     document.body.appendChild(modalOut); | ||||
|     let modal = document.createElement('div'); | ||||
|     modal.className = 'modal-wrapper'; | ||||
|     modalOut.appendChild(modal); | ||||
|     let title = document.createElement('h2'); | ||||
|     title.innerHTML = 'FileKade - Changelog'; | ||||
|     modal.appendChild(title); | ||||
| 
 | ||||
|     let clw = document.createElement('div'); | ||||
|     clw.className = 'changelog-wrapper'; | ||||
|     modal.appendChild(clw); | ||||
| 
 | ||||
|     changelogs.forEach(changelog => { | ||||
|         changelog = require(`../../json/changelogs/${changelog}`); | ||||
|         let w = document.createElement('div'); | ||||
|         w.className = 'changelog-version-container'; | ||||
|         clw.appendChild(w); | ||||
|         let subtitle = document.createElement('h2'); | ||||
|         subtitle.className = 'subtitle'; | ||||
|         subtitle.innerHTML = changelog.version.name + ' ' + changelog.version.semver + (window.kade.version.name === changelog.version.name ? ' (Current)' : ''); | ||||
|         w.appendChild(subtitle); | ||||
|         let cl = changelog.log; | ||||
|         Object.keys(cl).forEach(group => { | ||||
|             let gc = document.createElement('div'); | ||||
|             gc.className = 'changelog-group-container'; | ||||
|             w.appendChild(gc); | ||||
|             let gt = document.createElement('p'); | ||||
|             gt.innerHTML = group; | ||||
|             gt.className = 'changelog-group-name'; | ||||
|             gc.appendChild(gt); | ||||
|             let ul = document.createElement('ul'); | ||||
|             gc.appendChild(ul); | ||||
|             cl[group].forEach(item => { | ||||
|                 let li = document.createElement('li'); | ||||
|                 ul.appendChild(li); | ||||
|                 let itemp = document.createElement('p'); | ||||
|                 itemp.innerHTML = item; | ||||
|                 li.appendChild(itemp); | ||||
|             }); | ||||
|         }); | ||||
|     }); | ||||
| 
 | ||||
|     let msm = new Mousetrap(modal); | ||||
|     msm.bind('esc', () => { | ||||
|         modalOut.remove(); | ||||
|         postModal(modalOut.id); | ||||
|     }); | ||||
| 
 | ||||
|     let close = document.createElement('a'); | ||||
|     close.className = 'close-button'; | ||||
|     close.onclick = () => { | ||||
|         modalOut.remove(); | ||||
|         postModal(modalOut.id); | ||||
|     }; | ||||
|     let closeWrap = document.createElement('div'); | ||||
|     closeWrap.className = 'close-button-wrapper'; | ||||
|     modal.appendChild(closeWrap); | ||||
|     closeWrap.appendChild(close); | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue