GithubHelp home page GithubHelp logo

paper's Introduction

Hello there, I'm Andrew ๐Ÿ‘‹

I'm a Front-end developer from Sร i Gรฒn, Vietnam, currently living in Toronto, Canada.

Contacts

๐Ÿ’– Checkout my personal website: https://andrewnt.dev

๐Ÿ“ง Contact me: [email protected]

๐Ÿ‘” Let's connect: https://www.linkedin.com/in/andrewnt219/

Overview

Stats

Andrew's github stats

Top programming languages

Top Langs

My Stacks

Extremely comfortable

Next.js React Router HTML Git JavaScript Firebase Node.js Tailwindcss React.js TypeScript CSS Redux styled-components SASS

Know well

Jest MongoDB Material-UI Framer Motion

paper's People

Contributors

andrewnt219 avatar jerryhue avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

jerryhue

paper's Issues

Parse a title from input files

try to parse a title from your input files. If there is a title, it will be the first line followed by two blank lines. In your generated HTML, use this to populate the <title>...</title> and add an <h1>...</h1> to the top of the <body>.

Progress exit

Exiting with process 1 to a user might not be the most ideal. Should show detailed message instead

Allow different output dir in CLI

allow the user to specify a different output directory using --output or -o. If not specified, dist will be used, but if the user specifies a different output path, use that. Print an error if the specified output path is not a valid directory.

Recursive input files parsing

allow the input to be a deep tree of files and folders. That is, if the user specifies a folder for --input, check to see if any of the items contained within are folders and recursively parse those as well.

Markdown support

Create the following features:

  • Accept .md extension files
  • Markdown italics syntax
  • Markdown Bold syntax
  • Markdown Heading 1 syntax
  • Markdown Heading 2 syntax
  • Markdown link syntax

Add default stylesheet

improve the look and feel of your generated HTML pages using a default stylesheet that you design. Make them responsive, use beautiful fonts and colours, improve the layout and readability of the text.

Multiple Dist Folder

When the program is ran from a dist folder another is created possibly due to relative pathing

Fail to read template

When in a subdirectory error: Fail to read template file: No such file or directory (os error 2)
is displayed.

Generate index.html

if the user specifies a folder for the input, automatically generate an index.html file, which has relative links to each of the generated HTML files.

Filter files depending on extension

Right now, we are differentiating only by directories and files. If one were to pass a file of whatever extension, it would be treated as a txt file always.

I suggest to filter the files we can and cannot accept by their extension. This would help us to also use a parser depending on the type of the file.

Error on relative paths from `--input`

What happened

Problem generating file '.\Sherlock-Holmes-Selected-Stories\The Adventure of the Six Napoleans.txt': The system cannot find the path specified. (os error 3)

Reproduce

$  cargo  run -- -i '.\Sherlock-Holmes-Selected-Stories\The Adventure of the Six Napoleans.txt'

Expected

The Adventure of the Six Napoleans.txt appears in dist

Required Features

  • pick a name for your tool. Try not to pick a name that is already used by other projects. I'll call my tool my-ssg for the rest of this document (call yours something more creative!).
  • create a GitHub Repo for your project, see https://docs.github.com/en/enterprise/2.15/user/articles/create-a-repo
  • choose an OSI Approved Open Source License for your project and include a LICENSE file in your repo, see https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository
  • create a README.md file, and keep it updated as you write your code, documenting how to use your tool, which features you include, etc. Your README file should tell users how to use your tool.
  • choose a programming language. You can use a language you know and love, or something new that you've never used before and want to learn. If you're studying a particular language in other courses, consider picking that one so you can get more practice with it.
  • running your tool at the command-line with the --version or -v flag should print the tool's name and current version.
  • running your tool at the command-line with the --help or -h flag should print a standard help/usage message showing how to run the tool, which command line flags and arguments can be used, etc.
  • your tool should allow the user to specify an input file or folder to be processed, using --input or -i:
  • your tool should generate one .html output file for each input file. For example, if I run the tool on doc.txt a new doc.html file will be generated.
  • you need to deal with marking-up paragraphs: every blank line should be considered a paragraph limit and the text transformed into <p>...</p>. For example, given the following input file:
This is the first paragraph.

This is the second paragraph.

Should be transformed into:

<p>This is the first paragraph.</p>

<p>This is the second paragraph.</p>
  • your tool should place all output into a ./dist folder by default. That is, if I run the tool, I should end-up with a new folder called dist in the current directory, and it should contain one or more .html files. Each time the tool is run, an existing dist folder should first be removed so that dist always contains the last output.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.