This is a simple command-line tool to convert .txt files into genereated .html files.
$ npm i til-tool
- Pass in a .txt file and it'll generate an html file which is stored in
./til
directory.
- Pass in a directory and it'll look for and find all .txt files within the directory and genereate multiple html files in
./til
directory.
Argument |
Role |
fileName/dirName |
converts files to html |
Example: Converts a .text file .html file
./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts 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>
Example: Convert .txt files in a directory to .html files stored in ./til direcotry
./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 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>
Option |
Role |
-v, --version |
outputs the current version |
-o, --output |
creates a specified directory |
-s, --stylesheet |
sets a stylesheet to HTML |
-h, --help |
display help for command |
-l, --lang |
indicates the language to use |
$ ts-node src/index.ts -v
$ ts-node src/index.ts --version
$ ts-node src/index.ts -h
$ ts-node src/index.ts --help
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.
Example: Converts a .text file to .html file stored in the specified directory instead './til'
./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts example1.txt -o build
$ ts-node src/index.ts 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 examples -o build
$ ts-node src/index.ts examples --output 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.
Example: Converts a .text file to .html file with a stylesheet
./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts example1.txt -s https://cdn.jsdelivr.net/npm/water.css@2/out/water.css
$ ts-node src/index.ts 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>
Example: Convert .txt files in a directory to .html files with a stylesheet
./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 examples -s https://cdn.jsdelivr.net/npm/water.css@2/out/water.css
$ ts-node src/index.ts 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>
Allow the user to add an optional -i or --lang to indicate the language to use when generating the lang attribute on the root element.
Example: Converts a .text file to .html file with a lang attribute
./example1.txt
This is the first paragraph.
This is the second paragraph.
$ ts-node src/index.ts example1.txt -l br
$ ts-node src/index.ts example1.txt --lang br
./til/example1.html
<!doctype html>
<html lang="br">
<head>
<meta charset="utf-8" />
<title>example1</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<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 with a lang attribute
./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 examples -l br
$ ts-node src/index.ts examples --lang br
./til/text1.html
<!doctype html>
<html lang="br">
<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="br">
<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>
MIT