This is a simple command-line tool to convert .txt files into genereated .html files.
$ node --version
$ npm --version$ git clone https://github.com/seog-jun/til-tool.git
$ cd til_tool
$ npm install$sudo npm install -g ts-node- Pass in a .txt file and it'll generate an html file which is stored in
./tildirectory. - Pass in a directory and it'll look for and find all .txt files within the directory and genereate multiple html files in
./tildirectory.
| Option | Role |
|---|---|
| -v, --version | outputs the current version |
| -i, --input | converts file to html |
| -o, --output | creates a specified directory |
| -s, --stylesheet | sets a stylesheet to HTML |
| -h, --help | display help for command |
$ ts-node src/index.ts -v
$ ts-node src/index.ts --version$ ts-node src/index.ts -h
$ ts-node src/index.ts --help./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts -i example1.txt
$ ts-node src/index.ts -input example1.txt./til/example1.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>example1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>example1</h1>
<p>This is the first paragraph.</p>
<p>This is the second paragraph.</p>
</body>
</html>./examples/text1.txt
This is the text1.txt in examples directory.
This is the text1.txt in examples directory.
./examples/text2.txt
This is the text2.txt in examples directory.
This is the text2.txt in examples directory.
$ ts-node src/index.ts -i examples
$ ts-node src/index.ts -input examples./til/text1.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>text1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>text1</h1>
<p>This is the text1.txt in examples directory.</p>
<p>This is the text1.txt in examples directory.</p>
</body>
</html>./til/text2.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>text2</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>text2</h1>
<p>This is the text2.txt in examples directory.</p>
<p>This is the text2.txt in examples directory.</p>
</body>
</html>Allow the user to specify a different output directory using --output or -o. If not specified, til will be used, but if the user specifies a different output path, use that. The program should create the directory if it does not exist.
./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts -i example1.txt -o build
$ ts-node src/index.ts -input example1.txt -output build./build/example1.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>example1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>example1</h1>
<p>This is the first paragraph.</p>
<p>This is the second paragraph.</p>
</body>
</html>Example: Convert .txt files in a directory to .html files stored in the specified directory instead './til'
./examples/text1.txt
This is the text1.txt in examples directory.
This is the text1.txt in examples directory.
./examples/text2.txt
This is the text2.txt in examples directory.
This is the text2.txt in examples directory.
$ ts-node src/index.ts -i examples -o build
$ ts-node src/index.ts -input examples -out build./build/text1.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>text1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>text1</h1>
<p>This is the text1.txt in examples directory.</p>
<p>This is the text1.txt in examples directory.</p>
</body>
</html>./build/text2.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>text2</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<h1>text2</h1>
<p>This is the text2.txt in examples directory.</p>
<p>This is the text2.txt in examples directory.</p>
</body>
</html>Allow the user to optionally specify a --stylesheet or -s URL to a CSS stylesheet to be used in the of your generated HTML files.
./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts -i example1.txt -s https://cdn.jsdelivr.net/npm/water.css@2/out/water.css
$ ts-node src/index.ts -input example1.txt --stylesheet https://cdn.jsdelivr.net/npm/water.css@2/out/water.css./til/example1.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>example1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">
</head>
<body>
<h1>example1</h1>
<p>This is the first paragraph.</p>
<p>This is the second paragraph.</p>
</body>
</html>./examples/text1.txt
This is the text1.txt in examples directory.
This is the text1.txt in examples directory.
./examples/text2.txt
This is the text2.txt in examples directory.
This is the text2.txt in examples directory.
$ ts-node src/index.ts -i examples -s https://cdn.jsdelivr.net/npm/water.css@2/out/water.css
$ ts-node src/index.ts -input examples --stylesheet https://cdn.jsdelivr.net/npm/water.css@2/out/water.css./til/text1.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>text1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">
</head>
<body>
<h1>text1</h1>
<p>This is the text1.txt in examples directory.</p>
<p>This is the text1.txt in examples directory.</p>
</body>
</html>./til/text2.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>text2</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/water.css@2/out/water.css">
</head>
<body>
<h1>text2</h1>
<p>This is the text2.txt in examples directory.</p>
<p>This is the text2.txt in examples directory.</p>
</body>
</html>