Skip to content

sshah135/til-tool

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Til-Tool

This is a simple command-line tool to convert .txt files into genereated .html files.

How to Install

Step 1: To make sure node and npm are installed, run

$ node --version
$ npm --version

Step 2: Clone the repository to your local machine, and install it.

$ git clone https://github.com/seog-jun/til-tool.git
$ cd til_tool
$ npm install

Troubleshooting Installation: Command not found: ts-node

$sudo npm install -g ts-node

Features

  • 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.

Options

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

Usages

-v, --version:

$ ts-node src/index.ts -v
$ ts-node src/index.ts --version

-h, --help:

$ ts-node src/index.ts -h
$ ts-node src/index.ts --help

-i, --input:

Example: Converts a .text file .html file

./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>

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 -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>

-o, --output:

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 -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>

-s, --stylesheet:

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 -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>

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 -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>

License

MIT

About

Adding Markdown support

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 91.4%
  • HTML 8.6%