Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add an optional language argument
  • Loading branch information
avelynhc committed Sep 13, 2023
1 parent 67fe86a commit 0f155cf
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/helper/convertToHTML.ts
@@ -1,8 +1,8 @@
const htmlFs = require("fs");

module.exports.convertToHTML = function (title: string, cssLink: string, body: string, outputFolder: string) {
module.exports.convertToHTML = function (title: string, cssLink: string, body: string, selectedLang: string, outputFolder: string) {
const result:string = `<!doctype html>
<html lang="en">
<html lang="${selectedLang}">
<head>
<meta charset="utf-8">
<title>${title}</title>
Expand Down
4 changes: 2 additions & 2 deletions src/helper/readFile.ts
Expand Up @@ -3,7 +3,7 @@ import readFilePath from "path";
const html = require("./convertToHTML");
let body:string = "";

module.exports.readFile = function (inputPath: string, cssLink: string, outputFolder: string) {
module.exports.readFile = function (inputPath: string, cssLink: string, selectedLang: string, outputFolder: string) {
// parse a title from the input file, which will be used to populate <title>...</title>
const title:string = readFilePath.basename(inputPath, ".txt");

Expand All @@ -18,6 +18,6 @@ module.exports.readFile = function (inputPath: string, cssLink: string, outputFo
console.error(err);
}

html.convertToHTML(title, cssLink, body, outputFolder);
html.convertToHTML(title, cssLink, body, selectedLang, outputFolder);
return title;
};
3 changes: 2 additions & 1 deletion src/helper/readFolder.ts
@@ -1,14 +1,15 @@
import readFolderFs from "fs";
const fileModule = require("./readFile");

module.exports.readFolder = function (path: string, cssLink: string, outputFolder: string) {
module.exports.readFolder = function (path: string, cssLink: string, selectedLang: string, outputFolder: string) {
readFolderFs.readdir(path, function (err: any, files: any[]) {
if (err) return console.log(err);
const textFiles:any[] = files.filter(file => file.split('.').pop()==='txt');
textFiles.forEach(function (file) {
fileModule.readFile(
`${path}/${file}`,
cssLink,
selectedLang,
outputFolder
);
});
Expand Down
12 changes: 10 additions & 2 deletions src/index.ts
Expand Up @@ -20,6 +20,13 @@ const argv = yargs
type: "string",
demandOption: false,
})
.option("l", {
alias: "lang",
describe: "Language used in generated file",
default: "en-CA",
type: "string",
demandOption: false,
})
.alias("h", "help")
.alias("v", "version")
.version(appInfo.name + " " + appInfo.version)
Expand All @@ -41,6 +48,7 @@ if (!fs.existsSync(outputFolder)) {
}
console.log('Output folder is successfully created!');

const selectedLang:string = argv.lang;
// check if input is an individual file or directory
fs.stat(argv.input, (err: any, stats: { isDirectory: () => any; isFile: () => any; }) => {
if (err) {
Expand All @@ -49,9 +57,9 @@ fs.stat(argv.input, (err: any, stats: { isDirectory: () => any; isFile: () => an
}

if (stats.isDirectory()) {
folder.readFolder(argv.input, cssLink, outputFolder);
folder.readFolder(argv.input, cssLink, selectedLang, outputFolder);
} else if (stats.isFile() && path.extname(argv.input) === ".txt") {
file.readFile(argv.input, cssLink, outputFolder);
file.readFile(argv.input, cssLink, selectedLang, outputFolder);
} else {
console.error("Error: file extension should be .txt");
}
Expand Down

0 comments on commit 0f155cf

Please sign in to comment.