48 lines
1.9 KiB
TypeScript
48 lines
1.9 KiB
TypeScript
import * as plugins from './mod.plugins.js';
|
|
import * as paths from '../paths.js';
|
|
import { GitzoneConfig } from '../classes.gitzoneconfig.js';
|
|
import { Project } from '../classes.project.js';
|
|
|
|
export const run = async (projectArg: Project) => {
|
|
const readmePath = plugins.path.join(paths.cwd, 'readme.md');
|
|
const readmeFile = await plugins.smartfile.SmartFile.fromFilePath(readmePath);
|
|
|
|
// lets do our transformation
|
|
|
|
let usageInfo: string = '';
|
|
const gitzoneConfig = await GitzoneConfig.fromCwd();
|
|
|
|
if (readmeFile) {
|
|
const readmeFileString = readmeFile.contentBuffer.toString();
|
|
const stringArray1 = readmeFileString.split('## Usage\n');
|
|
if (stringArray1[1]) {
|
|
const stringArray2 = stringArray1[1].split(
|
|
'\nFor further information read the linked docs at the top of this readme.'
|
|
);
|
|
const stringArray3 = stringArray2[0].split('\n\n## Contribution');
|
|
usageInfo = stringArray3[0];
|
|
}
|
|
}
|
|
|
|
if (gitzoneConfig.data.module && gitzoneConfig.data.module.license === 'MIT') {
|
|
usageInfo +=
|
|
'\n\n## Contribution\n\n' +
|
|
'We are always happy for code contributions. If you are not the code contributing type that is ok. ' +
|
|
'Still, maintaining Open Source repositories takes considerable time and thought. ' +
|
|
'If you like the quality of what we do and our modules are useful to you we would appreciate a little monthly contribution: ' +
|
|
'You can [contribute one time](https://lossless.link/contribute-onetime) or [contribute monthly](https://lossless.link/contribute). :)\n';
|
|
}
|
|
|
|
const templateModule = await import('../mod_template/index.js');
|
|
const readmeTemplate = await templateModule.getTemplate('readme');
|
|
console.log(gitzoneConfig.data);
|
|
await readmeTemplate.supplyVariables({
|
|
module: {
|
|
...gitzoneConfig.data.module,
|
|
},
|
|
usageInfo,
|
|
});
|
|
await readmeTemplate.askCliForMissingVariables();
|
|
await readmeTemplate.writeToDisk(paths.cwd);
|
|
};
|