diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..30fcc30 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,5 @@ +# These are supported funding model platforms + +github: amitmerchant1990 +patreon: amitmerchant +ko_fi: amitmerchant diff --git a/.github/workflows/codesee-arch-diagram.yml b/.github/workflows/codesee-arch-diagram.yml new file mode 100644 index 0000000..5b4e581 --- /dev/null +++ b/.github/workflows/codesee-arch-diagram.yml @@ -0,0 +1,81 @@ +on: + push: + branches: + - master + pull_request_target: + types: [opened, synchronize, reopened] + +name: CodeSee Map + +jobs: + test_map_action: + runs-on: ubuntu-latest + continue-on-error: true + name: Run CodeSee Map Analysis + steps: + - name: checkout + id: checkout + uses: actions/checkout@v2 + with: + repository: ${{ github.event.pull_request.head.repo.full_name }} + ref: ${{ github.event.pull_request.head.ref }} + fetch-depth: 0 + + # codesee-detect-languages has an output with id languages. + - name: Detect Languages + id: detect-languages + uses: Codesee-io/codesee-detect-languages-action@latest + + - name: Configure JDK 16 + uses: actions/setup-java@v2 + if: ${{ fromJSON(steps.detect-languages.outputs.languages).java }} + with: + java-version: '16' + distribution: 'zulu' + + # CodeSee Maps Go support uses a static binary so there's no setup step required. + + - name: Configure Node.js 14 + uses: actions/setup-node@v2 + if: ${{ fromJSON(steps.detect-languages.outputs.languages).javascript }} + with: + node-version: '14' + + - name: Configure Python 3.x + uses: actions/setup-python@v2 + if: ${{ fromJSON(steps.detect-languages.outputs.languages).python }} + with: + python-version: '3.x' + architecture: 'x64' + + - name: Configure Ruby '3.x' + uses: ruby/setup-ruby@v1 + if: ${{ fromJSON(steps.detect-languages.outputs.languages).ruby }} + with: + ruby-version: '3.0' + + # CodeSee Maps Rust support uses a static binary so there's no setup step required. + + - name: Generate Map + id: generate-map + uses: Codesee-io/codesee-map-action@latest + with: + step: map + github_ref: ${{ github.ref }} + languages: ${{ steps.detect-languages.outputs.languages }} + + - name: Upload Map + id: upload-map + uses: Codesee-io/codesee-map-action@latest + with: + step: mapUpload + api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }} + github_ref: ${{ github.ref }} + + - name: Insights + id: insights + uses: Codesee-io/codesee-map-action@latest + with: + step: insights + api_token: ${{ secrets.CODESEE_ARCH_DIAG_API_TOKEN }} + github_ref: ${{ github.ref }} diff --git a/.gitignore b/.gitignore index e27dc6b..4d2d7aa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ node_modules +package-lock.json +npm-shrinkwrap.json # Mac .DS_Store diff --git a/LICENSE.md b/LICENSE.md index 7424792..696030c 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,5 +1,5 @@ The MIT License (MIT) -Copyright (c) 2016 Amit Merchant +Copyright (c) 2020 Amit Merchant Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in diff --git a/README.md b/README.md index 352e2de..052c440 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@


- Markdownify + Markdownify
- Electron Markdownify + Markdownify

-

This is a minimal Markdown Editor desktop app based on Electron.

+

A minimal Markdown Editor desktop app built on top of Electron.

@@ -15,13 +15,24 @@ alt="Gitter"> - + + + +

-
-![screenshot](https://raw.githubusercontent.com/amitmerchant1990/electron-markdownify/master/img/markdownify.gif) +

+ Key Features • + How To Use • + Download • + Credits • + Related • + License +

+ +![screenshot](https://raw.githubusercontent.com/amitmerchant1990/electron-markdownify/master/app/img/markdownify.gif) ## Key Features @@ -31,35 +42,51 @@ - While you type, LivePreview will automatically scroll to the current location you're editing. * GitHub Flavored Markdown * Syntax highlighting +* [KaTeX](https://khan.github.io/KaTeX/) Support * Dark/Light mode * Toolbar for basic Markdown formatting +* Supports multiple cursors +* Save the Markdown preview as PDF * Emoji support in preview :tada: * App will keep alive in tray for quick usage * Full screen mode - Write distraction free. * Cross platform - - Windows, Mac and Linux ready. + - Windows, macOS and Linux ready. ## How To Use -Install it using : `npm install electron-markdownify` +To clone and run this application, you'll need [Git](https://git-scm.com) and [Node.js](https://nodejs.org/en/download/) (which comes with [npm](http://npmjs.com)) installed on your computer. From your command line: -*Or* +```bash +# Clone this repository +$ git clone https://github.com/amitmerchant1990/electron-markdownify -Clone this repository, and run +# Go into the repository +$ cd electron-markdownify +# Install dependencies +$ npm install + +# Run the app +$ npm start ``` -$> cd PATH-TO-MARKDOWNIFY-DESKTOP-APP -$> npm install && npm start -``` + +> **Note** +> If you're using Linux Bash for Windows, [see this guide](https://www.howtogeek.com/261575/how-to-run-graphical-linux-desktop-applications-from-windows-10s-bash-shell/) or use `node` from the command prompt. + ## Download -You can [download](https://github.com/amitmerchant1990/electron-markdownify/releases/tag/v1.1.6) latest installable version of Markdownify for Windows, Darwin and Linux. +You can [download](https://github.com/amitmerchant1990/electron-markdownify/releases/tag/v1.2.0) the latest installable version of Markdownify for Windows, macOS and Linux. + +## Emailware + +Markdownify is an [emailware](https://en.wiktionary.org/wiki/emailware). Meaning, if you liked using this app or it has helped you in any way, I'd like you send me an email at about anything you'd want to say about this software. I'd really appreciate it! ## Credits -This software uses code from several open source packages. +This software uses the following open source packages: - [Electron](http://electron.atom.io/) - [Node.js](https://nodejs.org/) @@ -73,6 +100,28 @@ This software uses code from several open source packages. [markdownify-web](https://github.com/amitmerchant1990/markdownify-web) - Web version of Markdownify -#### License +## Support + +Buy Me A Coffee + +

Or

+ + + + + +## You may also like... + +- [Pomolectron](https://github.com/amitmerchant1990/pomolectron) - A pomodoro app +- [Correo](https://github.com/amitmerchant1990/correo) - A menubar/taskbar Gmail App for Windows and macOS + +## License MIT + +--- + +> [amitmerchant.com](https://www.amitmerchant.com)  ·  +> GitHub [@amitmerchant1990](https://github.com/amitmerchant1990)  ·  +> Twitter [@amit_merchant](https://twitter.com/amit_merchant) + diff --git a/img/IconTray.png b/app/img/IconTray.png similarity index 100% rename from img/IconTray.png rename to app/img/IconTray.png diff --git a/app/img/electron-badge.svg b/app/img/electron-badge.svg new file mode 100644 index 0000000..e5f7606 --- /dev/null +++ b/app/img/electron-badge.svg @@ -0,0 +1,23 @@ + + + + + Layer 1 + + + + Electron + + + Layer 2 + + + + + + + + + + + \ No newline at end of file diff --git a/img/emoji/+1.png b/app/img/emoji/+1.png similarity index 100% rename from img/emoji/+1.png rename to app/img/emoji/+1.png diff --git a/img/emoji/-1.png b/app/img/emoji/-1.png similarity index 100% rename from img/emoji/-1.png rename to app/img/emoji/-1.png diff --git a/img/emoji/100.png b/app/img/emoji/100.png similarity index 100% rename from img/emoji/100.png rename to app/img/emoji/100.png diff --git a/img/emoji/1234.png b/app/img/emoji/1234.png similarity index 100% rename from img/emoji/1234.png rename to app/img/emoji/1234.png diff --git a/img/emoji/8ball.png b/app/img/emoji/8ball.png similarity index 100% rename from img/emoji/8ball.png rename to app/img/emoji/8ball.png diff --git a/img/emoji/a.png b/app/img/emoji/a.png similarity index 100% rename from img/emoji/a.png rename to app/img/emoji/a.png diff --git a/img/emoji/ab.png b/app/img/emoji/ab.png similarity index 100% rename from img/emoji/ab.png rename to app/img/emoji/ab.png diff --git a/img/emoji/abc.png b/app/img/emoji/abc.png similarity index 100% rename from img/emoji/abc.png rename to app/img/emoji/abc.png diff --git a/img/emoji/abcd.png b/app/img/emoji/abcd.png similarity index 100% rename from img/emoji/abcd.png rename to app/img/emoji/abcd.png diff --git a/img/emoji/accept.png b/app/img/emoji/accept.png similarity index 100% rename from img/emoji/accept.png rename to app/img/emoji/accept.png diff --git a/img/emoji/aerial_tramway.png b/app/img/emoji/aerial_tramway.png similarity index 100% rename from img/emoji/aerial_tramway.png rename to app/img/emoji/aerial_tramway.png diff --git a/img/emoji/airplane.png b/app/img/emoji/airplane.png similarity index 100% rename from img/emoji/airplane.png rename to app/img/emoji/airplane.png diff --git a/img/emoji/alarm_clock.png b/app/img/emoji/alarm_clock.png similarity index 100% rename from img/emoji/alarm_clock.png rename to app/img/emoji/alarm_clock.png diff --git a/img/emoji/alien.png b/app/img/emoji/alien.png similarity index 100% rename from img/emoji/alien.png rename to app/img/emoji/alien.png diff --git a/img/emoji/ambulance.png b/app/img/emoji/ambulance.png similarity index 100% rename from img/emoji/ambulance.png rename to app/img/emoji/ambulance.png diff --git a/img/emoji/anchor.png b/app/img/emoji/anchor.png similarity index 100% rename from img/emoji/anchor.png rename to app/img/emoji/anchor.png diff --git a/img/emoji/angel.png b/app/img/emoji/angel.png similarity index 100% rename from img/emoji/angel.png rename to app/img/emoji/angel.png diff --git a/img/emoji/anger.png b/app/img/emoji/anger.png similarity index 100% rename from img/emoji/anger.png rename to app/img/emoji/anger.png diff --git a/img/emoji/angry.png b/app/img/emoji/angry.png similarity index 100% rename from img/emoji/angry.png rename to app/img/emoji/angry.png diff --git a/img/emoji/anguished.png b/app/img/emoji/anguished.png similarity index 100% rename from img/emoji/anguished.png rename to app/img/emoji/anguished.png diff --git a/img/emoji/ant.png b/app/img/emoji/ant.png similarity index 100% rename from img/emoji/ant.png rename to app/img/emoji/ant.png diff --git a/img/emoji/apple.png b/app/img/emoji/apple.png similarity index 100% rename from img/emoji/apple.png rename to app/img/emoji/apple.png diff --git a/img/emoji/aquarius.png b/app/img/emoji/aquarius.png similarity index 100% rename from img/emoji/aquarius.png rename to app/img/emoji/aquarius.png diff --git a/img/emoji/aries.png b/app/img/emoji/aries.png similarity index 100% rename from img/emoji/aries.png rename to app/img/emoji/aries.png diff --git a/img/emoji/arrow_backward.png b/app/img/emoji/arrow_backward.png similarity index 100% rename from img/emoji/arrow_backward.png rename to app/img/emoji/arrow_backward.png diff --git a/img/emoji/arrow_double_down.png b/app/img/emoji/arrow_double_down.png similarity index 100% rename from img/emoji/arrow_double_down.png rename to app/img/emoji/arrow_double_down.png diff --git a/img/emoji/arrow_double_up.png b/app/img/emoji/arrow_double_up.png similarity index 100% rename from img/emoji/arrow_double_up.png rename to app/img/emoji/arrow_double_up.png diff --git a/img/emoji/arrow_down.png b/app/img/emoji/arrow_down.png similarity index 100% rename from img/emoji/arrow_down.png rename to app/img/emoji/arrow_down.png diff --git a/img/emoji/arrow_down_small.png b/app/img/emoji/arrow_down_small.png similarity index 100% rename from img/emoji/arrow_down_small.png rename to app/img/emoji/arrow_down_small.png diff --git a/img/emoji/arrow_forward.png b/app/img/emoji/arrow_forward.png similarity index 100% rename from img/emoji/arrow_forward.png rename to app/img/emoji/arrow_forward.png diff --git a/img/emoji/arrow_heading_down.png b/app/img/emoji/arrow_heading_down.png similarity index 100% rename from img/emoji/arrow_heading_down.png rename to app/img/emoji/arrow_heading_down.png diff --git a/img/emoji/arrow_heading_up.png b/app/img/emoji/arrow_heading_up.png similarity index 100% rename from img/emoji/arrow_heading_up.png rename to app/img/emoji/arrow_heading_up.png diff --git a/img/emoji/arrow_left.png b/app/img/emoji/arrow_left.png similarity index 100% rename from img/emoji/arrow_left.png rename to app/img/emoji/arrow_left.png diff --git a/img/emoji/arrow_lower_left.png b/app/img/emoji/arrow_lower_left.png similarity index 100% rename from img/emoji/arrow_lower_left.png rename to app/img/emoji/arrow_lower_left.png diff --git a/img/emoji/arrow_lower_right.png b/app/img/emoji/arrow_lower_right.png similarity index 100% rename from img/emoji/arrow_lower_right.png rename to app/img/emoji/arrow_lower_right.png diff --git a/img/emoji/arrow_right.png b/app/img/emoji/arrow_right.png similarity index 100% rename from img/emoji/arrow_right.png rename to app/img/emoji/arrow_right.png diff --git a/img/emoji/arrow_right_hook.png b/app/img/emoji/arrow_right_hook.png similarity index 100% rename from img/emoji/arrow_right_hook.png rename to app/img/emoji/arrow_right_hook.png diff --git a/img/emoji/arrow_up.png b/app/img/emoji/arrow_up.png similarity index 100% rename from img/emoji/arrow_up.png rename to app/img/emoji/arrow_up.png diff --git a/img/emoji/arrow_up_down.png b/app/img/emoji/arrow_up_down.png similarity index 100% rename from img/emoji/arrow_up_down.png rename to app/img/emoji/arrow_up_down.png diff --git a/img/emoji/arrow_up_small.png b/app/img/emoji/arrow_up_small.png similarity index 100% rename from img/emoji/arrow_up_small.png rename to app/img/emoji/arrow_up_small.png diff --git a/img/emoji/arrow_upper_left.png b/app/img/emoji/arrow_upper_left.png similarity index 100% rename from img/emoji/arrow_upper_left.png rename to app/img/emoji/arrow_upper_left.png diff --git a/img/emoji/arrow_upper_right.png b/app/img/emoji/arrow_upper_right.png similarity index 100% rename from img/emoji/arrow_upper_right.png rename to app/img/emoji/arrow_upper_right.png diff --git a/img/emoji/arrows_clockwise.png b/app/img/emoji/arrows_clockwise.png similarity index 100% rename from img/emoji/arrows_clockwise.png rename to app/img/emoji/arrows_clockwise.png diff --git a/img/emoji/arrows_counterclockwise.png b/app/img/emoji/arrows_counterclockwise.png similarity index 100% rename from img/emoji/arrows_counterclockwise.png rename to app/img/emoji/arrows_counterclockwise.png diff --git a/img/emoji/art.png b/app/img/emoji/art.png similarity index 100% rename from img/emoji/art.png rename to app/img/emoji/art.png diff --git a/img/emoji/articulated_lorry.png b/app/img/emoji/articulated_lorry.png similarity index 100% rename from img/emoji/articulated_lorry.png rename to app/img/emoji/articulated_lorry.png diff --git a/img/emoji/astonished.png b/app/img/emoji/astonished.png similarity index 100% rename from img/emoji/astonished.png rename to app/img/emoji/astonished.png diff --git a/img/emoji/atm.png b/app/img/emoji/atm.png similarity index 100% rename from img/emoji/atm.png rename to app/img/emoji/atm.png diff --git a/img/emoji/b.png b/app/img/emoji/b.png similarity index 100% rename from img/emoji/b.png rename to app/img/emoji/b.png diff --git a/img/emoji/baby.png b/app/img/emoji/baby.png similarity index 100% rename from img/emoji/baby.png rename to app/img/emoji/baby.png diff --git a/img/emoji/baby_bottle.png b/app/img/emoji/baby_bottle.png similarity index 100% rename from img/emoji/baby_bottle.png rename to app/img/emoji/baby_bottle.png diff --git a/img/emoji/baby_chick.png b/app/img/emoji/baby_chick.png similarity index 100% rename from img/emoji/baby_chick.png rename to app/img/emoji/baby_chick.png diff --git a/img/emoji/baby_symbol.png b/app/img/emoji/baby_symbol.png similarity index 100% rename from img/emoji/baby_symbol.png rename to app/img/emoji/baby_symbol.png diff --git a/img/emoji/back.png b/app/img/emoji/back.png similarity index 100% rename from img/emoji/back.png rename to app/img/emoji/back.png diff --git a/img/emoji/baggage_claim.png b/app/img/emoji/baggage_claim.png similarity index 100% rename from img/emoji/baggage_claim.png rename to app/img/emoji/baggage_claim.png diff --git a/img/emoji/balloon.png b/app/img/emoji/balloon.png similarity index 100% rename from img/emoji/balloon.png rename to app/img/emoji/balloon.png diff --git a/img/emoji/ballot_box_with_check.png b/app/img/emoji/ballot_box_with_check.png similarity index 100% rename from img/emoji/ballot_box_with_check.png rename to app/img/emoji/ballot_box_with_check.png diff --git a/img/emoji/bamboo.png b/app/img/emoji/bamboo.png similarity index 100% rename from img/emoji/bamboo.png rename to app/img/emoji/bamboo.png diff --git a/img/emoji/banana.png b/app/img/emoji/banana.png similarity index 100% rename from img/emoji/banana.png rename to app/img/emoji/banana.png diff --git a/img/emoji/bangbang.png b/app/img/emoji/bangbang.png similarity index 100% rename from img/emoji/bangbang.png rename to app/img/emoji/bangbang.png diff --git a/img/emoji/bank.png b/app/img/emoji/bank.png similarity index 100% rename from img/emoji/bank.png rename to app/img/emoji/bank.png diff --git a/img/emoji/bar_chart.png b/app/img/emoji/bar_chart.png similarity index 100% rename from img/emoji/bar_chart.png rename to app/img/emoji/bar_chart.png diff --git a/img/emoji/barber.png b/app/img/emoji/barber.png similarity index 100% rename from img/emoji/barber.png rename to app/img/emoji/barber.png diff --git a/img/emoji/baseball.png b/app/img/emoji/baseball.png similarity index 100% rename from img/emoji/baseball.png rename to app/img/emoji/baseball.png diff --git a/img/emoji/basketball.png b/app/img/emoji/basketball.png similarity index 100% rename from img/emoji/basketball.png rename to app/img/emoji/basketball.png diff --git a/img/emoji/bath.png b/app/img/emoji/bath.png similarity index 100% rename from img/emoji/bath.png rename to app/img/emoji/bath.png diff --git a/img/emoji/bathtub.png b/app/img/emoji/bathtub.png similarity index 100% rename from img/emoji/bathtub.png rename to app/img/emoji/bathtub.png diff --git a/img/emoji/battery.png b/app/img/emoji/battery.png similarity index 100% rename from img/emoji/battery.png rename to app/img/emoji/battery.png diff --git a/img/emoji/bear.png b/app/img/emoji/bear.png similarity index 100% rename from img/emoji/bear.png rename to app/img/emoji/bear.png diff --git a/img/emoji/bee.png b/app/img/emoji/bee.png similarity index 100% rename from img/emoji/bee.png rename to app/img/emoji/bee.png diff --git a/img/emoji/beer.png b/app/img/emoji/beer.png similarity index 100% rename from img/emoji/beer.png rename to app/img/emoji/beer.png diff --git a/img/emoji/beers.png b/app/img/emoji/beers.png similarity index 100% rename from img/emoji/beers.png rename to app/img/emoji/beers.png diff --git a/img/emoji/beetle.png b/app/img/emoji/beetle.png similarity index 100% rename from img/emoji/beetle.png rename to app/img/emoji/beetle.png diff --git a/img/emoji/beginner.png b/app/img/emoji/beginner.png similarity index 100% rename from img/emoji/beginner.png rename to app/img/emoji/beginner.png diff --git a/img/emoji/bell.png b/app/img/emoji/bell.png similarity index 100% rename from img/emoji/bell.png rename to app/img/emoji/bell.png diff --git a/img/emoji/bento.png b/app/img/emoji/bento.png similarity index 100% rename from img/emoji/bento.png rename to app/img/emoji/bento.png diff --git a/img/emoji/bicyclist.png b/app/img/emoji/bicyclist.png similarity index 100% rename from img/emoji/bicyclist.png rename to app/img/emoji/bicyclist.png diff --git a/img/emoji/bike.png b/app/img/emoji/bike.png similarity index 100% rename from img/emoji/bike.png rename to app/img/emoji/bike.png diff --git a/img/emoji/bikini.png b/app/img/emoji/bikini.png similarity index 100% rename from img/emoji/bikini.png rename to app/img/emoji/bikini.png diff --git a/img/emoji/bird.png b/app/img/emoji/bird.png similarity index 100% rename from img/emoji/bird.png rename to app/img/emoji/bird.png diff --git a/img/emoji/birthday.png b/app/img/emoji/birthday.png similarity index 100% rename from img/emoji/birthday.png rename to app/img/emoji/birthday.png diff --git a/img/emoji/black_circle.png b/app/img/emoji/black_circle.png similarity index 100% rename from img/emoji/black_circle.png rename to app/img/emoji/black_circle.png diff --git a/img/emoji/black_joker.png b/app/img/emoji/black_joker.png similarity index 100% rename from img/emoji/black_joker.png rename to app/img/emoji/black_joker.png diff --git a/img/emoji/black_medium_small_square.png b/app/img/emoji/black_medium_small_square.png similarity index 100% rename from img/emoji/black_medium_small_square.png rename to app/img/emoji/black_medium_small_square.png diff --git a/img/emoji/black_medium_square.png b/app/img/emoji/black_medium_square.png similarity index 100% rename from img/emoji/black_medium_square.png rename to app/img/emoji/black_medium_square.png diff --git a/img/emoji/black_nib.png b/app/img/emoji/black_nib.png similarity index 100% rename from img/emoji/black_nib.png rename to app/img/emoji/black_nib.png diff --git a/img/emoji/black_small_square.png b/app/img/emoji/black_small_square.png similarity index 100% rename from img/emoji/black_small_square.png rename to app/img/emoji/black_small_square.png diff --git a/img/emoji/black_square.png b/app/img/emoji/black_square.png similarity index 100% rename from img/emoji/black_square.png rename to app/img/emoji/black_square.png diff --git a/img/emoji/black_square_button.png b/app/img/emoji/black_square_button.png similarity index 100% rename from img/emoji/black_square_button.png rename to app/img/emoji/black_square_button.png diff --git a/img/emoji/blossom.png b/app/img/emoji/blossom.png similarity index 100% rename from img/emoji/blossom.png rename to app/img/emoji/blossom.png diff --git a/img/emoji/blowfish.png b/app/img/emoji/blowfish.png similarity index 100% rename from img/emoji/blowfish.png rename to app/img/emoji/blowfish.png diff --git a/img/emoji/blue_book.png b/app/img/emoji/blue_book.png similarity index 100% rename from img/emoji/blue_book.png rename to app/img/emoji/blue_book.png diff --git a/img/emoji/blue_car.png b/app/img/emoji/blue_car.png similarity index 100% rename from img/emoji/blue_car.png rename to app/img/emoji/blue_car.png diff --git a/img/emoji/blue_heart.png b/app/img/emoji/blue_heart.png similarity index 100% rename from img/emoji/blue_heart.png rename to app/img/emoji/blue_heart.png diff --git a/img/emoji/blush.png b/app/img/emoji/blush.png similarity index 100% rename from img/emoji/blush.png rename to app/img/emoji/blush.png diff --git a/img/emoji/boar.png b/app/img/emoji/boar.png similarity index 100% rename from img/emoji/boar.png rename to app/img/emoji/boar.png diff --git a/img/emoji/boat.png b/app/img/emoji/boat.png similarity index 100% rename from img/emoji/boat.png rename to app/img/emoji/boat.png diff --git a/img/emoji/bomb.png b/app/img/emoji/bomb.png similarity index 100% rename from img/emoji/bomb.png rename to app/img/emoji/bomb.png diff --git a/img/emoji/book.png b/app/img/emoji/book.png similarity index 100% rename from img/emoji/book.png rename to app/img/emoji/book.png diff --git a/img/emoji/bookmark.png b/app/img/emoji/bookmark.png similarity index 100% rename from img/emoji/bookmark.png rename to app/img/emoji/bookmark.png diff --git a/img/emoji/bookmark_tabs.png b/app/img/emoji/bookmark_tabs.png similarity index 100% rename from img/emoji/bookmark_tabs.png rename to app/img/emoji/bookmark_tabs.png diff --git a/img/emoji/books.png b/app/img/emoji/books.png similarity index 100% rename from img/emoji/books.png rename to app/img/emoji/books.png diff --git a/img/emoji/boom.png b/app/img/emoji/boom.png similarity index 100% rename from img/emoji/boom.png rename to app/img/emoji/boom.png diff --git a/img/emoji/boot.png b/app/img/emoji/boot.png similarity index 100% rename from img/emoji/boot.png rename to app/img/emoji/boot.png diff --git a/img/emoji/bouquet.png b/app/img/emoji/bouquet.png similarity index 100% rename from img/emoji/bouquet.png rename to app/img/emoji/bouquet.png diff --git a/img/emoji/bow.png b/app/img/emoji/bow.png similarity index 100% rename from img/emoji/bow.png rename to app/img/emoji/bow.png diff --git a/img/emoji/bowling.png b/app/img/emoji/bowling.png similarity index 100% rename from img/emoji/bowling.png rename to app/img/emoji/bowling.png diff --git a/img/emoji/bowtie.png b/app/img/emoji/bowtie.png similarity index 100% rename from img/emoji/bowtie.png rename to app/img/emoji/bowtie.png diff --git a/img/emoji/boy.png b/app/img/emoji/boy.png similarity index 100% rename from img/emoji/boy.png rename to app/img/emoji/boy.png diff --git a/img/emoji/bread.png b/app/img/emoji/bread.png similarity index 100% rename from img/emoji/bread.png rename to app/img/emoji/bread.png diff --git a/img/emoji/bride_with_veil.png b/app/img/emoji/bride_with_veil.png similarity index 100% rename from img/emoji/bride_with_veil.png rename to app/img/emoji/bride_with_veil.png diff --git a/img/emoji/bridge_at_night.png b/app/img/emoji/bridge_at_night.png similarity index 100% rename from img/emoji/bridge_at_night.png rename to app/img/emoji/bridge_at_night.png diff --git a/img/emoji/briefcase.png b/app/img/emoji/briefcase.png similarity index 100% rename from img/emoji/briefcase.png rename to app/img/emoji/briefcase.png diff --git a/img/emoji/broken_heart.png b/app/img/emoji/broken_heart.png similarity index 100% rename from img/emoji/broken_heart.png rename to app/img/emoji/broken_heart.png diff --git a/img/emoji/bug.png b/app/img/emoji/bug.png similarity index 100% rename from img/emoji/bug.png rename to app/img/emoji/bug.png diff --git a/img/emoji/bulb.png b/app/img/emoji/bulb.png similarity index 100% rename from img/emoji/bulb.png rename to app/img/emoji/bulb.png diff --git a/img/emoji/bullettrain_front.png b/app/img/emoji/bullettrain_front.png similarity index 100% rename from img/emoji/bullettrain_front.png rename to app/img/emoji/bullettrain_front.png diff --git a/img/emoji/bullettrain_side.png b/app/img/emoji/bullettrain_side.png similarity index 100% rename from img/emoji/bullettrain_side.png rename to app/img/emoji/bullettrain_side.png diff --git a/img/emoji/bus.png b/app/img/emoji/bus.png similarity index 100% rename from img/emoji/bus.png rename to app/img/emoji/bus.png diff --git a/img/emoji/busstop.png b/app/img/emoji/busstop.png similarity index 100% rename from img/emoji/busstop.png rename to app/img/emoji/busstop.png diff --git a/img/emoji/bust_in_silhouette.png b/app/img/emoji/bust_in_silhouette.png similarity index 100% rename from img/emoji/bust_in_silhouette.png rename to app/img/emoji/bust_in_silhouette.png diff --git a/img/emoji/busts_in_silhouette.png b/app/img/emoji/busts_in_silhouette.png similarity index 100% rename from img/emoji/busts_in_silhouette.png rename to app/img/emoji/busts_in_silhouette.png diff --git a/img/emoji/cactus.png b/app/img/emoji/cactus.png similarity index 100% rename from img/emoji/cactus.png rename to app/img/emoji/cactus.png diff --git a/img/emoji/cake.png b/app/img/emoji/cake.png similarity index 100% rename from img/emoji/cake.png rename to app/img/emoji/cake.png diff --git a/img/emoji/calendar.png b/app/img/emoji/calendar.png similarity index 100% rename from img/emoji/calendar.png rename to app/img/emoji/calendar.png diff --git a/img/emoji/calling.png b/app/img/emoji/calling.png similarity index 100% rename from img/emoji/calling.png rename to app/img/emoji/calling.png diff --git a/img/emoji/camel.png b/app/img/emoji/camel.png similarity index 100% rename from img/emoji/camel.png rename to app/img/emoji/camel.png diff --git a/img/emoji/camera.png b/app/img/emoji/camera.png similarity index 100% rename from img/emoji/camera.png rename to app/img/emoji/camera.png diff --git a/img/emoji/cancer.png b/app/img/emoji/cancer.png similarity index 100% rename from img/emoji/cancer.png rename to app/img/emoji/cancer.png diff --git a/img/emoji/candy.png b/app/img/emoji/candy.png similarity index 100% rename from img/emoji/candy.png rename to app/img/emoji/candy.png diff --git a/img/emoji/capital_abcd.png b/app/img/emoji/capital_abcd.png similarity index 100% rename from img/emoji/capital_abcd.png rename to app/img/emoji/capital_abcd.png diff --git a/img/emoji/capricorn.png b/app/img/emoji/capricorn.png similarity index 100% rename from img/emoji/capricorn.png rename to app/img/emoji/capricorn.png diff --git a/img/emoji/car.png b/app/img/emoji/car.png similarity index 100% rename from img/emoji/car.png rename to app/img/emoji/car.png diff --git a/img/emoji/card_index.png b/app/img/emoji/card_index.png similarity index 100% rename from img/emoji/card_index.png rename to app/img/emoji/card_index.png diff --git a/img/emoji/carousel_horse.png b/app/img/emoji/carousel_horse.png similarity index 100% rename from img/emoji/carousel_horse.png rename to app/img/emoji/carousel_horse.png diff --git a/img/emoji/cat.png b/app/img/emoji/cat.png similarity index 100% rename from img/emoji/cat.png rename to app/img/emoji/cat.png diff --git a/img/emoji/cat2.png b/app/img/emoji/cat2.png similarity index 100% rename from img/emoji/cat2.png rename to app/img/emoji/cat2.png diff --git a/img/emoji/cd.png b/app/img/emoji/cd.png similarity index 100% rename from img/emoji/cd.png rename to app/img/emoji/cd.png diff --git a/img/emoji/chart.png b/app/img/emoji/chart.png similarity index 100% rename from img/emoji/chart.png rename to app/img/emoji/chart.png diff --git a/img/emoji/chart_with_downwards_trend.png b/app/img/emoji/chart_with_downwards_trend.png similarity index 100% rename from img/emoji/chart_with_downwards_trend.png rename to app/img/emoji/chart_with_downwards_trend.png diff --git a/img/emoji/chart_with_upwards_trend.png b/app/img/emoji/chart_with_upwards_trend.png similarity index 100% rename from img/emoji/chart_with_upwards_trend.png rename to app/img/emoji/chart_with_upwards_trend.png diff --git a/img/emoji/checkered_flag.png b/app/img/emoji/checkered_flag.png similarity index 100% rename from img/emoji/checkered_flag.png rename to app/img/emoji/checkered_flag.png diff --git a/img/emoji/cherries.png b/app/img/emoji/cherries.png similarity index 100% rename from img/emoji/cherries.png rename to app/img/emoji/cherries.png diff --git a/img/emoji/cherry_blossom.png b/app/img/emoji/cherry_blossom.png similarity index 100% rename from img/emoji/cherry_blossom.png rename to app/img/emoji/cherry_blossom.png diff --git a/img/emoji/chestnut.png b/app/img/emoji/chestnut.png similarity index 100% rename from img/emoji/chestnut.png rename to app/img/emoji/chestnut.png diff --git a/img/emoji/chicken.png b/app/img/emoji/chicken.png similarity index 100% rename from img/emoji/chicken.png rename to app/img/emoji/chicken.png diff --git a/img/emoji/children_crossing.png b/app/img/emoji/children_crossing.png similarity index 100% rename from img/emoji/children_crossing.png rename to app/img/emoji/children_crossing.png diff --git a/img/emoji/chocolate_bar.png b/app/img/emoji/chocolate_bar.png similarity index 100% rename from img/emoji/chocolate_bar.png rename to app/img/emoji/chocolate_bar.png diff --git a/img/emoji/christmas_tree.png b/app/img/emoji/christmas_tree.png similarity index 100% rename from img/emoji/christmas_tree.png rename to app/img/emoji/christmas_tree.png diff --git a/img/emoji/church.png b/app/img/emoji/church.png similarity index 100% rename from img/emoji/church.png rename to app/img/emoji/church.png diff --git a/img/emoji/cinema.png b/app/img/emoji/cinema.png similarity index 100% rename from img/emoji/cinema.png rename to app/img/emoji/cinema.png diff --git a/img/emoji/circus_tent.png b/app/img/emoji/circus_tent.png similarity index 100% rename from img/emoji/circus_tent.png rename to app/img/emoji/circus_tent.png diff --git a/img/emoji/city_sunrise.png b/app/img/emoji/city_sunrise.png similarity index 100% rename from img/emoji/city_sunrise.png rename to app/img/emoji/city_sunrise.png diff --git a/img/emoji/city_sunset.png b/app/img/emoji/city_sunset.png similarity index 100% rename from img/emoji/city_sunset.png rename to app/img/emoji/city_sunset.png diff --git a/img/emoji/cl.png b/app/img/emoji/cl.png similarity index 100% rename from img/emoji/cl.png rename to app/img/emoji/cl.png diff --git a/img/emoji/clap.png b/app/img/emoji/clap.png similarity index 100% rename from img/emoji/clap.png rename to app/img/emoji/clap.png diff --git a/img/emoji/clapper.png b/app/img/emoji/clapper.png similarity index 100% rename from img/emoji/clapper.png rename to app/img/emoji/clapper.png diff --git a/img/emoji/clipboard.png b/app/img/emoji/clipboard.png similarity index 100% rename from img/emoji/clipboard.png rename to app/img/emoji/clipboard.png diff --git a/img/emoji/clock1.png b/app/img/emoji/clock1.png similarity index 100% rename from img/emoji/clock1.png rename to app/img/emoji/clock1.png diff --git a/img/emoji/clock10.png b/app/img/emoji/clock10.png similarity index 100% rename from img/emoji/clock10.png rename to app/img/emoji/clock10.png diff --git a/img/emoji/clock1030.png b/app/img/emoji/clock1030.png similarity index 100% rename from img/emoji/clock1030.png rename to app/img/emoji/clock1030.png diff --git a/img/emoji/clock11.png b/app/img/emoji/clock11.png similarity index 100% rename from img/emoji/clock11.png rename to app/img/emoji/clock11.png diff --git a/img/emoji/clock1130.png b/app/img/emoji/clock1130.png similarity index 100% rename from img/emoji/clock1130.png rename to app/img/emoji/clock1130.png diff --git a/img/emoji/clock12.png b/app/img/emoji/clock12.png similarity index 100% rename from img/emoji/clock12.png rename to app/img/emoji/clock12.png diff --git a/img/emoji/clock1230.png b/app/img/emoji/clock1230.png similarity index 100% rename from img/emoji/clock1230.png rename to app/img/emoji/clock1230.png diff --git a/img/emoji/clock130.png b/app/img/emoji/clock130.png similarity index 100% rename from img/emoji/clock130.png rename to app/img/emoji/clock130.png diff --git a/img/emoji/clock2.png b/app/img/emoji/clock2.png similarity index 100% rename from img/emoji/clock2.png rename to app/img/emoji/clock2.png diff --git a/img/emoji/clock230.png b/app/img/emoji/clock230.png similarity index 100% rename from img/emoji/clock230.png rename to app/img/emoji/clock230.png diff --git a/img/emoji/clock3.png b/app/img/emoji/clock3.png similarity index 100% rename from img/emoji/clock3.png rename to app/img/emoji/clock3.png diff --git a/img/emoji/clock330.png b/app/img/emoji/clock330.png similarity index 100% rename from img/emoji/clock330.png rename to app/img/emoji/clock330.png diff --git a/img/emoji/clock4.png b/app/img/emoji/clock4.png similarity index 100% rename from img/emoji/clock4.png rename to app/img/emoji/clock4.png diff --git a/img/emoji/clock430.png b/app/img/emoji/clock430.png similarity index 100% rename from img/emoji/clock430.png rename to app/img/emoji/clock430.png diff --git a/img/emoji/clock5.png b/app/img/emoji/clock5.png similarity index 100% rename from img/emoji/clock5.png rename to app/img/emoji/clock5.png diff --git a/img/emoji/clock530.png b/app/img/emoji/clock530.png similarity index 100% rename from img/emoji/clock530.png rename to app/img/emoji/clock530.png diff --git a/img/emoji/clock6.png b/app/img/emoji/clock6.png similarity index 100% rename from img/emoji/clock6.png rename to app/img/emoji/clock6.png diff --git a/img/emoji/clock630.png b/app/img/emoji/clock630.png similarity index 100% rename from img/emoji/clock630.png rename to app/img/emoji/clock630.png diff --git a/img/emoji/clock7.png b/app/img/emoji/clock7.png similarity index 100% rename from img/emoji/clock7.png rename to app/img/emoji/clock7.png diff --git a/img/emoji/clock730.png b/app/img/emoji/clock730.png similarity index 100% rename from img/emoji/clock730.png rename to app/img/emoji/clock730.png diff --git a/img/emoji/clock8.png b/app/img/emoji/clock8.png similarity index 100% rename from img/emoji/clock8.png rename to app/img/emoji/clock8.png diff --git a/img/emoji/clock830.png b/app/img/emoji/clock830.png similarity index 100% rename from img/emoji/clock830.png rename to app/img/emoji/clock830.png diff --git a/img/emoji/clock9.png b/app/img/emoji/clock9.png similarity index 100% rename from img/emoji/clock9.png rename to app/img/emoji/clock9.png diff --git a/img/emoji/clock930.png b/app/img/emoji/clock930.png similarity index 100% rename from img/emoji/clock930.png rename to app/img/emoji/clock930.png diff --git a/img/emoji/closed_book.png b/app/img/emoji/closed_book.png similarity index 100% rename from img/emoji/closed_book.png rename to app/img/emoji/closed_book.png diff --git a/img/emoji/closed_lock_with_key.png b/app/img/emoji/closed_lock_with_key.png similarity index 100% rename from img/emoji/closed_lock_with_key.png rename to app/img/emoji/closed_lock_with_key.png diff --git a/img/emoji/closed_umbrella.png b/app/img/emoji/closed_umbrella.png similarity index 100% rename from img/emoji/closed_umbrella.png rename to app/img/emoji/closed_umbrella.png diff --git a/img/emoji/cloud.png b/app/img/emoji/cloud.png similarity index 100% rename from img/emoji/cloud.png rename to app/img/emoji/cloud.png diff --git a/img/emoji/clubs.png b/app/img/emoji/clubs.png similarity index 100% rename from img/emoji/clubs.png rename to app/img/emoji/clubs.png diff --git a/img/emoji/cn.png b/app/img/emoji/cn.png similarity index 100% rename from img/emoji/cn.png rename to app/img/emoji/cn.png diff --git a/img/emoji/cocktail.png b/app/img/emoji/cocktail.png similarity index 100% rename from img/emoji/cocktail.png rename to app/img/emoji/cocktail.png diff --git a/img/emoji/coffee.png b/app/img/emoji/coffee.png similarity index 100% rename from img/emoji/coffee.png rename to app/img/emoji/coffee.png diff --git a/img/emoji/cold_sweat.png b/app/img/emoji/cold_sweat.png similarity index 100% rename from img/emoji/cold_sweat.png rename to app/img/emoji/cold_sweat.png diff --git a/img/emoji/collision.png b/app/img/emoji/collision.png similarity index 100% rename from img/emoji/collision.png rename to app/img/emoji/collision.png diff --git a/img/emoji/computer.png b/app/img/emoji/computer.png similarity index 100% rename from img/emoji/computer.png rename to app/img/emoji/computer.png diff --git a/img/emoji/confetti_ball.png b/app/img/emoji/confetti_ball.png similarity index 100% rename from img/emoji/confetti_ball.png rename to app/img/emoji/confetti_ball.png diff --git a/img/emoji/confounded.png b/app/img/emoji/confounded.png similarity index 100% rename from img/emoji/confounded.png rename to app/img/emoji/confounded.png diff --git a/img/emoji/confused.png b/app/img/emoji/confused.png similarity index 100% rename from img/emoji/confused.png rename to app/img/emoji/confused.png diff --git a/img/emoji/congratulations.png b/app/img/emoji/congratulations.png similarity index 100% rename from img/emoji/congratulations.png rename to app/img/emoji/congratulations.png diff --git a/img/emoji/construction.png b/app/img/emoji/construction.png similarity index 100% rename from img/emoji/construction.png rename to app/img/emoji/construction.png diff --git a/img/emoji/construction_worker.png b/app/img/emoji/construction_worker.png similarity index 100% rename from img/emoji/construction_worker.png rename to app/img/emoji/construction_worker.png diff --git a/img/emoji/convenience_store.png b/app/img/emoji/convenience_store.png similarity index 100% rename from img/emoji/convenience_store.png rename to app/img/emoji/convenience_store.png diff --git a/img/emoji/cookie.png b/app/img/emoji/cookie.png similarity index 100% rename from img/emoji/cookie.png rename to app/img/emoji/cookie.png diff --git a/img/emoji/cool.png b/app/img/emoji/cool.png similarity index 100% rename from img/emoji/cool.png rename to app/img/emoji/cool.png diff --git a/img/emoji/cop.png b/app/img/emoji/cop.png similarity index 100% rename from img/emoji/cop.png rename to app/img/emoji/cop.png diff --git a/img/emoji/copyright.png b/app/img/emoji/copyright.png similarity index 100% rename from img/emoji/copyright.png rename to app/img/emoji/copyright.png diff --git a/img/emoji/corn.png b/app/img/emoji/corn.png similarity index 100% rename from img/emoji/corn.png rename to app/img/emoji/corn.png diff --git a/img/emoji/couple.png b/app/img/emoji/couple.png similarity index 100% rename from img/emoji/couple.png rename to app/img/emoji/couple.png diff --git a/img/emoji/couple_with_heart.png b/app/img/emoji/couple_with_heart.png similarity index 100% rename from img/emoji/couple_with_heart.png rename to app/img/emoji/couple_with_heart.png diff --git a/img/emoji/couplekiss.png b/app/img/emoji/couplekiss.png similarity index 100% rename from img/emoji/couplekiss.png rename to app/img/emoji/couplekiss.png diff --git a/img/emoji/cow.png b/app/img/emoji/cow.png similarity index 100% rename from img/emoji/cow.png rename to app/img/emoji/cow.png diff --git a/img/emoji/cow2.png b/app/img/emoji/cow2.png similarity index 100% rename from img/emoji/cow2.png rename to app/img/emoji/cow2.png diff --git a/img/emoji/credit_card.png b/app/img/emoji/credit_card.png similarity index 100% rename from img/emoji/credit_card.png rename to app/img/emoji/credit_card.png diff --git a/img/emoji/crescent_moon.png b/app/img/emoji/crescent_moon.png similarity index 100% rename from img/emoji/crescent_moon.png rename to app/img/emoji/crescent_moon.png diff --git a/img/emoji/crocodile.png b/app/img/emoji/crocodile.png similarity index 100% rename from img/emoji/crocodile.png rename to app/img/emoji/crocodile.png diff --git a/img/emoji/crossed_flags.png b/app/img/emoji/crossed_flags.png similarity index 100% rename from img/emoji/crossed_flags.png rename to app/img/emoji/crossed_flags.png diff --git a/img/emoji/crown.png b/app/img/emoji/crown.png similarity index 100% rename from img/emoji/crown.png rename to app/img/emoji/crown.png diff --git a/img/emoji/cry.png b/app/img/emoji/cry.png similarity index 100% rename from img/emoji/cry.png rename to app/img/emoji/cry.png diff --git a/img/emoji/crying_cat_face.png b/app/img/emoji/crying_cat_face.png similarity index 100% rename from img/emoji/crying_cat_face.png rename to app/img/emoji/crying_cat_face.png diff --git a/img/emoji/crystal_ball.png b/app/img/emoji/crystal_ball.png similarity index 100% rename from img/emoji/crystal_ball.png rename to app/img/emoji/crystal_ball.png diff --git a/img/emoji/cupid.png b/app/img/emoji/cupid.png similarity index 100% rename from img/emoji/cupid.png rename to app/img/emoji/cupid.png diff --git a/img/emoji/curly_loop.png b/app/img/emoji/curly_loop.png similarity index 100% rename from img/emoji/curly_loop.png rename to app/img/emoji/curly_loop.png diff --git a/img/emoji/currency_exchange.png b/app/img/emoji/currency_exchange.png similarity index 100% rename from img/emoji/currency_exchange.png rename to app/img/emoji/currency_exchange.png diff --git a/img/emoji/curry.png b/app/img/emoji/curry.png similarity index 100% rename from img/emoji/curry.png rename to app/img/emoji/curry.png diff --git a/img/emoji/custard.png b/app/img/emoji/custard.png similarity index 100% rename from img/emoji/custard.png rename to app/img/emoji/custard.png diff --git a/img/emoji/customs.png b/app/img/emoji/customs.png similarity index 100% rename from img/emoji/customs.png rename to app/img/emoji/customs.png diff --git a/img/emoji/cyclone.png b/app/img/emoji/cyclone.png similarity index 100% rename from img/emoji/cyclone.png rename to app/img/emoji/cyclone.png diff --git a/img/emoji/dancer.png b/app/img/emoji/dancer.png similarity index 100% rename from img/emoji/dancer.png rename to app/img/emoji/dancer.png diff --git a/img/emoji/dancers.png b/app/img/emoji/dancers.png similarity index 100% rename from img/emoji/dancers.png rename to app/img/emoji/dancers.png diff --git a/img/emoji/dango.png b/app/img/emoji/dango.png similarity index 100% rename from img/emoji/dango.png rename to app/img/emoji/dango.png diff --git a/img/emoji/dart.png b/app/img/emoji/dart.png similarity index 100% rename from img/emoji/dart.png rename to app/img/emoji/dart.png diff --git a/img/emoji/dash.png b/app/img/emoji/dash.png similarity index 100% rename from img/emoji/dash.png rename to app/img/emoji/dash.png diff --git a/img/emoji/date.png b/app/img/emoji/date.png similarity index 100% rename from img/emoji/date.png rename to app/img/emoji/date.png diff --git a/img/emoji/de.png b/app/img/emoji/de.png similarity index 100% rename from img/emoji/de.png rename to app/img/emoji/de.png diff --git a/img/emoji/deciduous_tree.png b/app/img/emoji/deciduous_tree.png similarity index 100% rename from img/emoji/deciduous_tree.png rename to app/img/emoji/deciduous_tree.png diff --git a/img/emoji/department_store.png b/app/img/emoji/department_store.png similarity index 100% rename from img/emoji/department_store.png rename to app/img/emoji/department_store.png diff --git a/img/emoji/diamond_shape_with_a_dot_inside.png b/app/img/emoji/diamond_shape_with_a_dot_inside.png similarity index 100% rename from img/emoji/diamond_shape_with_a_dot_inside.png rename to app/img/emoji/diamond_shape_with_a_dot_inside.png diff --git a/img/emoji/diamonds.png b/app/img/emoji/diamonds.png similarity index 100% rename from img/emoji/diamonds.png rename to app/img/emoji/diamonds.png diff --git a/img/emoji/disappointed.png b/app/img/emoji/disappointed.png similarity index 100% rename from img/emoji/disappointed.png rename to app/img/emoji/disappointed.png diff --git a/img/emoji/disappointed_relieved.png b/app/img/emoji/disappointed_relieved.png similarity index 100% rename from img/emoji/disappointed_relieved.png rename to app/img/emoji/disappointed_relieved.png diff --git a/img/emoji/dizzy.png b/app/img/emoji/dizzy.png similarity index 100% rename from img/emoji/dizzy.png rename to app/img/emoji/dizzy.png diff --git a/img/emoji/dizzy_face.png b/app/img/emoji/dizzy_face.png similarity index 100% rename from img/emoji/dizzy_face.png rename to app/img/emoji/dizzy_face.png diff --git a/img/emoji/do_not_litter.png b/app/img/emoji/do_not_litter.png similarity index 100% rename from img/emoji/do_not_litter.png rename to app/img/emoji/do_not_litter.png diff --git a/img/emoji/dog.png b/app/img/emoji/dog.png similarity index 100% rename from img/emoji/dog.png rename to app/img/emoji/dog.png diff --git a/img/emoji/dog2.png b/app/img/emoji/dog2.png similarity index 100% rename from img/emoji/dog2.png rename to app/img/emoji/dog2.png diff --git a/img/emoji/dollar.png b/app/img/emoji/dollar.png similarity index 100% rename from img/emoji/dollar.png rename to app/img/emoji/dollar.png diff --git a/img/emoji/dolls.png b/app/img/emoji/dolls.png similarity index 100% rename from img/emoji/dolls.png rename to app/img/emoji/dolls.png diff --git a/img/emoji/dolphin.png b/app/img/emoji/dolphin.png similarity index 100% rename from img/emoji/dolphin.png rename to app/img/emoji/dolphin.png diff --git a/img/emoji/donut.png b/app/img/emoji/donut.png similarity index 100% rename from img/emoji/donut.png rename to app/img/emoji/donut.png diff --git a/img/emoji/door.png b/app/img/emoji/door.png similarity index 100% rename from img/emoji/door.png rename to app/img/emoji/door.png diff --git a/img/emoji/doughnut.png b/app/img/emoji/doughnut.png similarity index 100% rename from img/emoji/doughnut.png rename to app/img/emoji/doughnut.png diff --git a/img/emoji/dragon.png b/app/img/emoji/dragon.png similarity index 100% rename from img/emoji/dragon.png rename to app/img/emoji/dragon.png diff --git a/img/emoji/dragon_face.png b/app/img/emoji/dragon_face.png similarity index 100% rename from img/emoji/dragon_face.png rename to app/img/emoji/dragon_face.png diff --git a/img/emoji/dress.png b/app/img/emoji/dress.png similarity index 100% rename from img/emoji/dress.png rename to app/img/emoji/dress.png diff --git a/img/emoji/dromedary_camel.png b/app/img/emoji/dromedary_camel.png similarity index 100% rename from img/emoji/dromedary_camel.png rename to app/img/emoji/dromedary_camel.png diff --git a/img/emoji/droplet.png b/app/img/emoji/droplet.png similarity index 100% rename from img/emoji/droplet.png rename to app/img/emoji/droplet.png diff --git a/img/emoji/dvd.png b/app/img/emoji/dvd.png similarity index 100% rename from img/emoji/dvd.png rename to app/img/emoji/dvd.png diff --git a/img/emoji/e-mail.png b/app/img/emoji/e-mail.png similarity index 100% rename from img/emoji/e-mail.png rename to app/img/emoji/e-mail.png diff --git a/img/emoji/ear.png b/app/img/emoji/ear.png similarity index 100% rename from img/emoji/ear.png rename to app/img/emoji/ear.png diff --git a/img/emoji/ear_of_rice.png b/app/img/emoji/ear_of_rice.png similarity index 100% rename from img/emoji/ear_of_rice.png rename to app/img/emoji/ear_of_rice.png diff --git a/img/emoji/earth_africa.png b/app/img/emoji/earth_africa.png similarity index 100% rename from img/emoji/earth_africa.png rename to app/img/emoji/earth_africa.png diff --git a/img/emoji/earth_americas.png b/app/img/emoji/earth_americas.png similarity index 100% rename from img/emoji/earth_americas.png rename to app/img/emoji/earth_americas.png diff --git a/img/emoji/earth_asia.png b/app/img/emoji/earth_asia.png similarity index 100% rename from img/emoji/earth_asia.png rename to app/img/emoji/earth_asia.png diff --git a/img/emoji/egg.png b/app/img/emoji/egg.png similarity index 100% rename from img/emoji/egg.png rename to app/img/emoji/egg.png diff --git a/img/emoji/eggplant.png b/app/img/emoji/eggplant.png similarity index 100% rename from img/emoji/eggplant.png rename to app/img/emoji/eggplant.png diff --git a/img/emoji/eight.png b/app/img/emoji/eight.png similarity index 100% rename from img/emoji/eight.png rename to app/img/emoji/eight.png diff --git a/img/emoji/eight_pointed_black_star.png b/app/img/emoji/eight_pointed_black_star.png similarity index 100% rename from img/emoji/eight_pointed_black_star.png rename to app/img/emoji/eight_pointed_black_star.png diff --git a/img/emoji/eight_spoked_asterisk.png b/app/img/emoji/eight_spoked_asterisk.png similarity index 100% rename from img/emoji/eight_spoked_asterisk.png rename to app/img/emoji/eight_spoked_asterisk.png diff --git a/img/emoji/electric_plug.png b/app/img/emoji/electric_plug.png similarity index 100% rename from img/emoji/electric_plug.png rename to app/img/emoji/electric_plug.png diff --git a/img/emoji/elephant.png b/app/img/emoji/elephant.png similarity index 100% rename from img/emoji/elephant.png rename to app/img/emoji/elephant.png diff --git a/img/emoji/email.png b/app/img/emoji/email.png similarity index 100% rename from img/emoji/email.png rename to app/img/emoji/email.png diff --git a/img/emoji/end.png b/app/img/emoji/end.png similarity index 100% rename from img/emoji/end.png rename to app/img/emoji/end.png diff --git a/img/emoji/envelope.png b/app/img/emoji/envelope.png similarity index 100% rename from img/emoji/envelope.png rename to app/img/emoji/envelope.png diff --git a/img/emoji/es.png b/app/img/emoji/es.png similarity index 100% rename from img/emoji/es.png rename to app/img/emoji/es.png diff --git a/img/emoji/euro.png b/app/img/emoji/euro.png similarity index 100% rename from img/emoji/euro.png rename to app/img/emoji/euro.png diff --git a/img/emoji/european_castle.png b/app/img/emoji/european_castle.png similarity index 100% rename from img/emoji/european_castle.png rename to app/img/emoji/european_castle.png diff --git a/img/emoji/european_post_office.png b/app/img/emoji/european_post_office.png similarity index 100% rename from img/emoji/european_post_office.png rename to app/img/emoji/european_post_office.png diff --git a/img/emoji/evergreen_tree.png b/app/img/emoji/evergreen_tree.png similarity index 100% rename from img/emoji/evergreen_tree.png rename to app/img/emoji/evergreen_tree.png diff --git a/img/emoji/exclamation.png b/app/img/emoji/exclamation.png similarity index 100% rename from img/emoji/exclamation.png rename to app/img/emoji/exclamation.png diff --git a/img/emoji/expressionless.png b/app/img/emoji/expressionless.png similarity index 100% rename from img/emoji/expressionless.png rename to app/img/emoji/expressionless.png diff --git a/img/emoji/eyeglasses.png b/app/img/emoji/eyeglasses.png similarity index 100% rename from img/emoji/eyeglasses.png rename to app/img/emoji/eyeglasses.png diff --git a/img/emoji/eyes.png b/app/img/emoji/eyes.png similarity index 100% rename from img/emoji/eyes.png rename to app/img/emoji/eyes.png diff --git a/img/emoji/facepunch.png b/app/img/emoji/facepunch.png similarity index 100% rename from img/emoji/facepunch.png rename to app/img/emoji/facepunch.png diff --git a/img/emoji/factory.png b/app/img/emoji/factory.png similarity index 100% rename from img/emoji/factory.png rename to app/img/emoji/factory.png diff --git a/img/emoji/fallen_leaf.png b/app/img/emoji/fallen_leaf.png similarity index 100% rename from img/emoji/fallen_leaf.png rename to app/img/emoji/fallen_leaf.png diff --git a/img/emoji/family.png b/app/img/emoji/family.png similarity index 100% rename from img/emoji/family.png rename to app/img/emoji/family.png diff --git a/img/emoji/fast_forward.png b/app/img/emoji/fast_forward.png similarity index 100% rename from img/emoji/fast_forward.png rename to app/img/emoji/fast_forward.png diff --git a/img/emoji/fax.png b/app/img/emoji/fax.png similarity index 100% rename from img/emoji/fax.png rename to app/img/emoji/fax.png diff --git a/img/emoji/fearful.png b/app/img/emoji/fearful.png similarity index 100% rename from img/emoji/fearful.png rename to app/img/emoji/fearful.png diff --git a/img/emoji/feelsgood.png b/app/img/emoji/feelsgood.png similarity index 100% rename from img/emoji/feelsgood.png rename to app/img/emoji/feelsgood.png diff --git a/img/emoji/feet.png b/app/img/emoji/feet.png similarity index 100% rename from img/emoji/feet.png rename to app/img/emoji/feet.png diff --git a/img/emoji/ferris_wheel.png b/app/img/emoji/ferris_wheel.png similarity index 100% rename from img/emoji/ferris_wheel.png rename to app/img/emoji/ferris_wheel.png diff --git a/img/emoji/file_folder.png b/app/img/emoji/file_folder.png similarity index 100% rename from img/emoji/file_folder.png rename to app/img/emoji/file_folder.png diff --git a/img/emoji/finnadie.png b/app/img/emoji/finnadie.png similarity index 100% rename from img/emoji/finnadie.png rename to app/img/emoji/finnadie.png diff --git a/img/emoji/fire.png b/app/img/emoji/fire.png similarity index 100% rename from img/emoji/fire.png rename to app/img/emoji/fire.png diff --git a/img/emoji/fire_engine.png b/app/img/emoji/fire_engine.png similarity index 100% rename from img/emoji/fire_engine.png rename to app/img/emoji/fire_engine.png diff --git a/img/emoji/fireworks.png b/app/img/emoji/fireworks.png similarity index 100% rename from img/emoji/fireworks.png rename to app/img/emoji/fireworks.png diff --git a/img/emoji/first_quarter_moon.png b/app/img/emoji/first_quarter_moon.png similarity index 100% rename from img/emoji/first_quarter_moon.png rename to app/img/emoji/first_quarter_moon.png diff --git a/img/emoji/first_quarter_moon_with_face.png b/app/img/emoji/first_quarter_moon_with_face.png similarity index 100% rename from img/emoji/first_quarter_moon_with_face.png rename to app/img/emoji/first_quarter_moon_with_face.png diff --git a/img/emoji/fish.png b/app/img/emoji/fish.png similarity index 100% rename from img/emoji/fish.png rename to app/img/emoji/fish.png diff --git a/img/emoji/fish_cake.png b/app/img/emoji/fish_cake.png similarity index 100% rename from img/emoji/fish_cake.png rename to app/img/emoji/fish_cake.png diff --git a/img/emoji/fishing_pole_and_fish.png b/app/img/emoji/fishing_pole_and_fish.png similarity index 100% rename from img/emoji/fishing_pole_and_fish.png rename to app/img/emoji/fishing_pole_and_fish.png diff --git a/img/emoji/fist.png b/app/img/emoji/fist.png similarity index 100% rename from img/emoji/fist.png rename to app/img/emoji/fist.png diff --git a/img/emoji/five.png b/app/img/emoji/five.png similarity index 100% rename from img/emoji/five.png rename to app/img/emoji/five.png diff --git a/img/emoji/flags.png b/app/img/emoji/flags.png similarity index 100% rename from img/emoji/flags.png rename to app/img/emoji/flags.png diff --git a/img/emoji/flashlight.png b/app/img/emoji/flashlight.png similarity index 100% rename from img/emoji/flashlight.png rename to app/img/emoji/flashlight.png diff --git a/img/emoji/floppy_disk.png b/app/img/emoji/floppy_disk.png similarity index 100% rename from img/emoji/floppy_disk.png rename to app/img/emoji/floppy_disk.png diff --git a/img/emoji/flower_playing_cards.png b/app/img/emoji/flower_playing_cards.png similarity index 100% rename from img/emoji/flower_playing_cards.png rename to app/img/emoji/flower_playing_cards.png diff --git a/img/emoji/flushed.png b/app/img/emoji/flushed.png similarity index 100% rename from img/emoji/flushed.png rename to app/img/emoji/flushed.png diff --git a/img/emoji/foggy.png b/app/img/emoji/foggy.png similarity index 100% rename from img/emoji/foggy.png rename to app/img/emoji/foggy.png diff --git a/img/emoji/football.png b/app/img/emoji/football.png similarity index 100% rename from img/emoji/football.png rename to app/img/emoji/football.png diff --git a/img/emoji/fork_and_knife.png b/app/img/emoji/fork_and_knife.png similarity index 100% rename from img/emoji/fork_and_knife.png rename to app/img/emoji/fork_and_knife.png diff --git a/img/emoji/fountain.png b/app/img/emoji/fountain.png similarity index 100% rename from img/emoji/fountain.png rename to app/img/emoji/fountain.png diff --git a/img/emoji/four.png b/app/img/emoji/four.png similarity index 100% rename from img/emoji/four.png rename to app/img/emoji/four.png diff --git a/img/emoji/four_leaf_clover.png b/app/img/emoji/four_leaf_clover.png similarity index 100% rename from img/emoji/four_leaf_clover.png rename to app/img/emoji/four_leaf_clover.png diff --git a/img/emoji/fr.png b/app/img/emoji/fr.png similarity index 100% rename from img/emoji/fr.png rename to app/img/emoji/fr.png diff --git a/img/emoji/free.png b/app/img/emoji/free.png similarity index 100% rename from img/emoji/free.png rename to app/img/emoji/free.png diff --git a/img/emoji/fried_shrimp.png b/app/img/emoji/fried_shrimp.png similarity index 100% rename from img/emoji/fried_shrimp.png rename to app/img/emoji/fried_shrimp.png diff --git a/img/emoji/fries.png b/app/img/emoji/fries.png similarity index 100% rename from img/emoji/fries.png rename to app/img/emoji/fries.png diff --git a/img/emoji/frog.png b/app/img/emoji/frog.png similarity index 100% rename from img/emoji/frog.png rename to app/img/emoji/frog.png diff --git a/img/emoji/frowning.png b/app/img/emoji/frowning.png similarity index 100% rename from img/emoji/frowning.png rename to app/img/emoji/frowning.png diff --git a/img/emoji/fu.png b/app/img/emoji/fu.png similarity index 100% rename from img/emoji/fu.png rename to app/img/emoji/fu.png diff --git a/img/emoji/fuelpump.png b/app/img/emoji/fuelpump.png similarity index 100% rename from img/emoji/fuelpump.png rename to app/img/emoji/fuelpump.png diff --git a/img/emoji/full_moon.png b/app/img/emoji/full_moon.png similarity index 100% rename from img/emoji/full_moon.png rename to app/img/emoji/full_moon.png diff --git a/img/emoji/full_moon_with_face.png b/app/img/emoji/full_moon_with_face.png similarity index 100% rename from img/emoji/full_moon_with_face.png rename to app/img/emoji/full_moon_with_face.png diff --git a/img/emoji/game_die.png b/app/img/emoji/game_die.png similarity index 100% rename from img/emoji/game_die.png rename to app/img/emoji/game_die.png diff --git a/img/emoji/gb.png b/app/img/emoji/gb.png similarity index 100% rename from img/emoji/gb.png rename to app/img/emoji/gb.png diff --git a/img/emoji/gem.png b/app/img/emoji/gem.png similarity index 100% rename from img/emoji/gem.png rename to app/img/emoji/gem.png diff --git a/img/emoji/gemini.png b/app/img/emoji/gemini.png similarity index 100% rename from img/emoji/gemini.png rename to app/img/emoji/gemini.png diff --git a/img/emoji/ghost.png b/app/img/emoji/ghost.png similarity index 100% rename from img/emoji/ghost.png rename to app/img/emoji/ghost.png diff --git a/img/emoji/gift.png b/app/img/emoji/gift.png similarity index 100% rename from img/emoji/gift.png rename to app/img/emoji/gift.png diff --git a/img/emoji/gift_heart.png b/app/img/emoji/gift_heart.png similarity index 100% rename from img/emoji/gift_heart.png rename to app/img/emoji/gift_heart.png diff --git a/img/emoji/girl.png b/app/img/emoji/girl.png similarity index 100% rename from img/emoji/girl.png rename to app/img/emoji/girl.png diff --git a/img/emoji/globe_with_meridians.png b/app/img/emoji/globe_with_meridians.png similarity index 100% rename from img/emoji/globe_with_meridians.png rename to app/img/emoji/globe_with_meridians.png diff --git a/img/emoji/goat.png b/app/img/emoji/goat.png similarity index 100% rename from img/emoji/goat.png rename to app/img/emoji/goat.png diff --git a/img/emoji/goberserk.png b/app/img/emoji/goberserk.png similarity index 100% rename from img/emoji/goberserk.png rename to app/img/emoji/goberserk.png diff --git a/img/emoji/godmode.png b/app/img/emoji/godmode.png similarity index 100% rename from img/emoji/godmode.png rename to app/img/emoji/godmode.png diff --git a/img/emoji/golf.png b/app/img/emoji/golf.png similarity index 100% rename from img/emoji/golf.png rename to app/img/emoji/golf.png diff --git a/img/emoji/grapes.png b/app/img/emoji/grapes.png similarity index 100% rename from img/emoji/grapes.png rename to app/img/emoji/grapes.png diff --git a/img/emoji/green_apple.png b/app/img/emoji/green_apple.png similarity index 100% rename from img/emoji/green_apple.png rename to app/img/emoji/green_apple.png diff --git a/img/emoji/green_book.png b/app/img/emoji/green_book.png similarity index 100% rename from img/emoji/green_book.png rename to app/img/emoji/green_book.png diff --git a/img/emoji/green_heart.png b/app/img/emoji/green_heart.png similarity index 100% rename from img/emoji/green_heart.png rename to app/img/emoji/green_heart.png diff --git a/img/emoji/grey_exclamation.png b/app/img/emoji/grey_exclamation.png similarity index 100% rename from img/emoji/grey_exclamation.png rename to app/img/emoji/grey_exclamation.png diff --git a/img/emoji/grey_question.png b/app/img/emoji/grey_question.png similarity index 100% rename from img/emoji/grey_question.png rename to app/img/emoji/grey_question.png diff --git a/img/emoji/grimacing.png b/app/img/emoji/grimacing.png similarity index 100% rename from img/emoji/grimacing.png rename to app/img/emoji/grimacing.png diff --git a/img/emoji/grin.png b/app/img/emoji/grin.png similarity index 100% rename from img/emoji/grin.png rename to app/img/emoji/grin.png diff --git a/img/emoji/grinning.png b/app/img/emoji/grinning.png similarity index 100% rename from img/emoji/grinning.png rename to app/img/emoji/grinning.png diff --git a/img/emoji/guardsman.png b/app/img/emoji/guardsman.png similarity index 100% rename from img/emoji/guardsman.png rename to app/img/emoji/guardsman.png diff --git a/img/emoji/guitar.png b/app/img/emoji/guitar.png similarity index 100% rename from img/emoji/guitar.png rename to app/img/emoji/guitar.png diff --git a/img/emoji/gun.png b/app/img/emoji/gun.png similarity index 100% rename from img/emoji/gun.png rename to app/img/emoji/gun.png diff --git a/img/emoji/haircut.png b/app/img/emoji/haircut.png similarity index 100% rename from img/emoji/haircut.png rename to app/img/emoji/haircut.png diff --git a/img/emoji/hamburger.png b/app/img/emoji/hamburger.png similarity index 100% rename from img/emoji/hamburger.png rename to app/img/emoji/hamburger.png diff --git a/img/emoji/hammer.png b/app/img/emoji/hammer.png similarity index 100% rename from img/emoji/hammer.png rename to app/img/emoji/hammer.png diff --git a/img/emoji/hamster.png b/app/img/emoji/hamster.png similarity index 100% rename from img/emoji/hamster.png rename to app/img/emoji/hamster.png diff --git a/img/emoji/hand.png b/app/img/emoji/hand.png similarity index 100% rename from img/emoji/hand.png rename to app/img/emoji/hand.png diff --git a/img/emoji/handbag.png b/app/img/emoji/handbag.png similarity index 100% rename from img/emoji/handbag.png rename to app/img/emoji/handbag.png diff --git a/img/emoji/hankey.png b/app/img/emoji/hankey.png similarity index 100% rename from img/emoji/hankey.png rename to app/img/emoji/hankey.png diff --git a/img/emoji/hash.png b/app/img/emoji/hash.png similarity index 100% rename from img/emoji/hash.png rename to app/img/emoji/hash.png diff --git a/img/emoji/hatched_chick.png b/app/img/emoji/hatched_chick.png similarity index 100% rename from img/emoji/hatched_chick.png rename to app/img/emoji/hatched_chick.png diff --git a/img/emoji/hatching_chick.png b/app/img/emoji/hatching_chick.png similarity index 100% rename from img/emoji/hatching_chick.png rename to app/img/emoji/hatching_chick.png diff --git a/img/emoji/headphones.png b/app/img/emoji/headphones.png similarity index 100% rename from img/emoji/headphones.png rename to app/img/emoji/headphones.png diff --git a/img/emoji/hear_no_evil.png b/app/img/emoji/hear_no_evil.png similarity index 100% rename from img/emoji/hear_no_evil.png rename to app/img/emoji/hear_no_evil.png diff --git a/img/emoji/heart.png b/app/img/emoji/heart.png similarity index 100% rename from img/emoji/heart.png rename to app/img/emoji/heart.png diff --git a/img/emoji/heart_decoration.png b/app/img/emoji/heart_decoration.png similarity index 100% rename from img/emoji/heart_decoration.png rename to app/img/emoji/heart_decoration.png diff --git a/img/emoji/heart_eyes.png b/app/img/emoji/heart_eyes.png similarity index 100% rename from img/emoji/heart_eyes.png rename to app/img/emoji/heart_eyes.png diff --git a/img/emoji/heart_eyes_cat.png b/app/img/emoji/heart_eyes_cat.png similarity index 100% rename from img/emoji/heart_eyes_cat.png rename to app/img/emoji/heart_eyes_cat.png diff --git a/img/emoji/heartbeat.png b/app/img/emoji/heartbeat.png similarity index 100% rename from img/emoji/heartbeat.png rename to app/img/emoji/heartbeat.png diff --git a/img/emoji/heartpulse.png b/app/img/emoji/heartpulse.png similarity index 100% rename from img/emoji/heartpulse.png rename to app/img/emoji/heartpulse.png diff --git a/img/emoji/hearts.png b/app/img/emoji/hearts.png similarity index 100% rename from img/emoji/hearts.png rename to app/img/emoji/hearts.png diff --git a/img/emoji/heavy_check_mark.png b/app/img/emoji/heavy_check_mark.png similarity index 100% rename from img/emoji/heavy_check_mark.png rename to app/img/emoji/heavy_check_mark.png diff --git a/img/emoji/heavy_division_sign.png b/app/img/emoji/heavy_division_sign.png similarity index 100% rename from img/emoji/heavy_division_sign.png rename to app/img/emoji/heavy_division_sign.png diff --git a/img/emoji/heavy_dollar_sign.png b/app/img/emoji/heavy_dollar_sign.png similarity index 100% rename from img/emoji/heavy_dollar_sign.png rename to app/img/emoji/heavy_dollar_sign.png diff --git a/img/emoji/heavy_exclamation_mark.png b/app/img/emoji/heavy_exclamation_mark.png similarity index 100% rename from img/emoji/heavy_exclamation_mark.png rename to app/img/emoji/heavy_exclamation_mark.png diff --git a/img/emoji/heavy_minus_sign.png b/app/img/emoji/heavy_minus_sign.png similarity index 100% rename from img/emoji/heavy_minus_sign.png rename to app/img/emoji/heavy_minus_sign.png diff --git a/img/emoji/heavy_multiplication_x.png b/app/img/emoji/heavy_multiplication_x.png similarity index 100% rename from img/emoji/heavy_multiplication_x.png rename to app/img/emoji/heavy_multiplication_x.png diff --git a/img/emoji/heavy_plus_sign.png b/app/img/emoji/heavy_plus_sign.png similarity index 100% rename from img/emoji/heavy_plus_sign.png rename to app/img/emoji/heavy_plus_sign.png diff --git a/img/emoji/helicopter.png b/app/img/emoji/helicopter.png similarity index 100% rename from img/emoji/helicopter.png rename to app/img/emoji/helicopter.png diff --git a/img/emoji/herb.png b/app/img/emoji/herb.png similarity index 100% rename from img/emoji/herb.png rename to app/img/emoji/herb.png diff --git a/img/emoji/hibiscus.png b/app/img/emoji/hibiscus.png similarity index 100% rename from img/emoji/hibiscus.png rename to app/img/emoji/hibiscus.png diff --git a/img/emoji/high_brightness.png b/app/img/emoji/high_brightness.png similarity index 100% rename from img/emoji/high_brightness.png rename to app/img/emoji/high_brightness.png diff --git a/img/emoji/high_heel.png b/app/img/emoji/high_heel.png similarity index 100% rename from img/emoji/high_heel.png rename to app/img/emoji/high_heel.png diff --git a/img/emoji/hocho.png b/app/img/emoji/hocho.png similarity index 100% rename from img/emoji/hocho.png rename to app/img/emoji/hocho.png diff --git a/img/emoji/honey_pot.png b/app/img/emoji/honey_pot.png similarity index 100% rename from img/emoji/honey_pot.png rename to app/img/emoji/honey_pot.png diff --git a/img/emoji/honeybee.png b/app/img/emoji/honeybee.png similarity index 100% rename from img/emoji/honeybee.png rename to app/img/emoji/honeybee.png diff --git a/img/emoji/horse.png b/app/img/emoji/horse.png similarity index 100% rename from img/emoji/horse.png rename to app/img/emoji/horse.png diff --git a/img/emoji/horse_racing.png b/app/img/emoji/horse_racing.png similarity index 100% rename from img/emoji/horse_racing.png rename to app/img/emoji/horse_racing.png diff --git a/img/emoji/hospital.png b/app/img/emoji/hospital.png similarity index 100% rename from img/emoji/hospital.png rename to app/img/emoji/hospital.png diff --git a/img/emoji/hotel.png b/app/img/emoji/hotel.png similarity index 100% rename from img/emoji/hotel.png rename to app/img/emoji/hotel.png diff --git a/img/emoji/hotsprings.png b/app/img/emoji/hotsprings.png similarity index 100% rename from img/emoji/hotsprings.png rename to app/img/emoji/hotsprings.png diff --git a/img/emoji/hourglass.png b/app/img/emoji/hourglass.png similarity index 100% rename from img/emoji/hourglass.png rename to app/img/emoji/hourglass.png diff --git a/img/emoji/hourglass_flowing_sand.png b/app/img/emoji/hourglass_flowing_sand.png similarity index 100% rename from img/emoji/hourglass_flowing_sand.png rename to app/img/emoji/hourglass_flowing_sand.png diff --git a/img/emoji/house.png b/app/img/emoji/house.png similarity index 100% rename from img/emoji/house.png rename to app/img/emoji/house.png diff --git a/img/emoji/house_with_garden.png b/app/img/emoji/house_with_garden.png similarity index 100% rename from img/emoji/house_with_garden.png rename to app/img/emoji/house_with_garden.png diff --git a/img/emoji/hurtrealbad.png b/app/img/emoji/hurtrealbad.png similarity index 100% rename from img/emoji/hurtrealbad.png rename to app/img/emoji/hurtrealbad.png diff --git a/img/emoji/hushed.png b/app/img/emoji/hushed.png similarity index 100% rename from img/emoji/hushed.png rename to app/img/emoji/hushed.png diff --git a/img/emoji/ice_cream.png b/app/img/emoji/ice_cream.png similarity index 100% rename from img/emoji/ice_cream.png rename to app/img/emoji/ice_cream.png diff --git a/img/emoji/icecream.png b/app/img/emoji/icecream.png similarity index 100% rename from img/emoji/icecream.png rename to app/img/emoji/icecream.png diff --git a/img/emoji/id.png b/app/img/emoji/id.png similarity index 100% rename from img/emoji/id.png rename to app/img/emoji/id.png diff --git a/img/emoji/ideograph_advantage.png b/app/img/emoji/ideograph_advantage.png similarity index 100% rename from img/emoji/ideograph_advantage.png rename to app/img/emoji/ideograph_advantage.png diff --git a/img/emoji/imp.png b/app/img/emoji/imp.png similarity index 100% rename from img/emoji/imp.png rename to app/img/emoji/imp.png diff --git a/img/emoji/inbox_tray.png b/app/img/emoji/inbox_tray.png similarity index 100% rename from img/emoji/inbox_tray.png rename to app/img/emoji/inbox_tray.png diff --git a/img/emoji/incoming_envelope.png b/app/img/emoji/incoming_envelope.png similarity index 100% rename from img/emoji/incoming_envelope.png rename to app/img/emoji/incoming_envelope.png diff --git a/img/emoji/information_desk_person.png b/app/img/emoji/information_desk_person.png similarity index 100% rename from img/emoji/information_desk_person.png rename to app/img/emoji/information_desk_person.png diff --git a/img/emoji/information_source.png b/app/img/emoji/information_source.png similarity index 100% rename from img/emoji/information_source.png rename to app/img/emoji/information_source.png diff --git a/img/emoji/innocent.png b/app/img/emoji/innocent.png similarity index 100% rename from img/emoji/innocent.png rename to app/img/emoji/innocent.png diff --git a/img/emoji/interrobang.png b/app/img/emoji/interrobang.png similarity index 100% rename from img/emoji/interrobang.png rename to app/img/emoji/interrobang.png diff --git a/img/emoji/iphone.png b/app/img/emoji/iphone.png similarity index 100% rename from img/emoji/iphone.png rename to app/img/emoji/iphone.png diff --git a/img/emoji/it.png b/app/img/emoji/it.png similarity index 100% rename from img/emoji/it.png rename to app/img/emoji/it.png diff --git a/img/emoji/izakaya_lantern.png b/app/img/emoji/izakaya_lantern.png similarity index 100% rename from img/emoji/izakaya_lantern.png rename to app/img/emoji/izakaya_lantern.png diff --git a/img/emoji/jack_o_lantern.png b/app/img/emoji/jack_o_lantern.png similarity index 100% rename from img/emoji/jack_o_lantern.png rename to app/img/emoji/jack_o_lantern.png diff --git a/img/emoji/japan.png b/app/img/emoji/japan.png similarity index 100% rename from img/emoji/japan.png rename to app/img/emoji/japan.png diff --git a/img/emoji/japanese_castle.png b/app/img/emoji/japanese_castle.png similarity index 100% rename from img/emoji/japanese_castle.png rename to app/img/emoji/japanese_castle.png diff --git a/img/emoji/japanese_goblin.png b/app/img/emoji/japanese_goblin.png similarity index 100% rename from img/emoji/japanese_goblin.png rename to app/img/emoji/japanese_goblin.png diff --git a/img/emoji/japanese_ogre.png b/app/img/emoji/japanese_ogre.png similarity index 100% rename from img/emoji/japanese_ogre.png rename to app/img/emoji/japanese_ogre.png diff --git a/img/emoji/jeans.png b/app/img/emoji/jeans.png similarity index 100% rename from img/emoji/jeans.png rename to app/img/emoji/jeans.png diff --git a/img/emoji/joy.png b/app/img/emoji/joy.png similarity index 100% rename from img/emoji/joy.png rename to app/img/emoji/joy.png diff --git a/img/emoji/joy_cat.png b/app/img/emoji/joy_cat.png similarity index 100% rename from img/emoji/joy_cat.png rename to app/img/emoji/joy_cat.png diff --git a/img/emoji/jp.png b/app/img/emoji/jp.png similarity index 100% rename from img/emoji/jp.png rename to app/img/emoji/jp.png diff --git a/img/emoji/key.png b/app/img/emoji/key.png similarity index 100% rename from img/emoji/key.png rename to app/img/emoji/key.png diff --git a/img/emoji/keycap_ten.png b/app/img/emoji/keycap_ten.png similarity index 100% rename from img/emoji/keycap_ten.png rename to app/img/emoji/keycap_ten.png diff --git a/img/emoji/kimono.png b/app/img/emoji/kimono.png similarity index 100% rename from img/emoji/kimono.png rename to app/img/emoji/kimono.png diff --git a/img/emoji/kiss.png b/app/img/emoji/kiss.png similarity index 100% rename from img/emoji/kiss.png rename to app/img/emoji/kiss.png diff --git a/img/emoji/kissing.png b/app/img/emoji/kissing.png similarity index 100% rename from img/emoji/kissing.png rename to app/img/emoji/kissing.png diff --git a/img/emoji/kissing_cat.png b/app/img/emoji/kissing_cat.png similarity index 100% rename from img/emoji/kissing_cat.png rename to app/img/emoji/kissing_cat.png diff --git a/img/emoji/kissing_closed_eyes.png b/app/img/emoji/kissing_closed_eyes.png similarity index 100% rename from img/emoji/kissing_closed_eyes.png rename to app/img/emoji/kissing_closed_eyes.png diff --git a/img/emoji/kissing_face.png b/app/img/emoji/kissing_face.png similarity index 100% rename from img/emoji/kissing_face.png rename to app/img/emoji/kissing_face.png diff --git a/img/emoji/kissing_heart.png b/app/img/emoji/kissing_heart.png similarity index 100% rename from img/emoji/kissing_heart.png rename to app/img/emoji/kissing_heart.png diff --git a/img/emoji/kissing_smiling_eyes.png b/app/img/emoji/kissing_smiling_eyes.png similarity index 100% rename from img/emoji/kissing_smiling_eyes.png rename to app/img/emoji/kissing_smiling_eyes.png diff --git a/img/emoji/koala.png b/app/img/emoji/koala.png similarity index 100% rename from img/emoji/koala.png rename to app/img/emoji/koala.png diff --git a/img/emoji/koko.png b/app/img/emoji/koko.png similarity index 100% rename from img/emoji/koko.png rename to app/img/emoji/koko.png diff --git a/img/emoji/kr.png b/app/img/emoji/kr.png similarity index 100% rename from img/emoji/kr.png rename to app/img/emoji/kr.png diff --git a/img/emoji/large_blue_circle.png b/app/img/emoji/large_blue_circle.png similarity index 100% rename from img/emoji/large_blue_circle.png rename to app/img/emoji/large_blue_circle.png diff --git a/img/emoji/large_blue_diamond.png b/app/img/emoji/large_blue_diamond.png similarity index 100% rename from img/emoji/large_blue_diamond.png rename to app/img/emoji/large_blue_diamond.png diff --git a/img/emoji/large_orange_diamond.png b/app/img/emoji/large_orange_diamond.png similarity index 100% rename from img/emoji/large_orange_diamond.png rename to app/img/emoji/large_orange_diamond.png diff --git a/img/emoji/last_quarter_moon.png b/app/img/emoji/last_quarter_moon.png similarity index 100% rename from img/emoji/last_quarter_moon.png rename to app/img/emoji/last_quarter_moon.png diff --git a/img/emoji/last_quarter_moon_with_face.png b/app/img/emoji/last_quarter_moon_with_face.png similarity index 100% rename from img/emoji/last_quarter_moon_with_face.png rename to app/img/emoji/last_quarter_moon_with_face.png diff --git a/img/emoji/laughing.png b/app/img/emoji/laughing.png similarity index 100% rename from img/emoji/laughing.png rename to app/img/emoji/laughing.png diff --git a/img/emoji/leaves.png b/app/img/emoji/leaves.png similarity index 100% rename from img/emoji/leaves.png rename to app/img/emoji/leaves.png diff --git a/img/emoji/ledger.png b/app/img/emoji/ledger.png similarity index 100% rename from img/emoji/ledger.png rename to app/img/emoji/ledger.png diff --git a/img/emoji/left_luggage.png b/app/img/emoji/left_luggage.png similarity index 100% rename from img/emoji/left_luggage.png rename to app/img/emoji/left_luggage.png diff --git a/img/emoji/left_right_arrow.png b/app/img/emoji/left_right_arrow.png similarity index 100% rename from img/emoji/left_right_arrow.png rename to app/img/emoji/left_right_arrow.png diff --git a/img/emoji/leftwards_arrow_with_hook.png b/app/img/emoji/leftwards_arrow_with_hook.png similarity index 100% rename from img/emoji/leftwards_arrow_with_hook.png rename to app/img/emoji/leftwards_arrow_with_hook.png diff --git a/img/emoji/lemon.png b/app/img/emoji/lemon.png similarity index 100% rename from img/emoji/lemon.png rename to app/img/emoji/lemon.png diff --git a/img/emoji/leo.png b/app/img/emoji/leo.png similarity index 100% rename from img/emoji/leo.png rename to app/img/emoji/leo.png diff --git a/img/emoji/leopard.png b/app/img/emoji/leopard.png similarity index 100% rename from img/emoji/leopard.png rename to app/img/emoji/leopard.png diff --git a/img/emoji/libra.png b/app/img/emoji/libra.png similarity index 100% rename from img/emoji/libra.png rename to app/img/emoji/libra.png diff --git a/img/emoji/light_rail.png b/app/img/emoji/light_rail.png similarity index 100% rename from img/emoji/light_rail.png rename to app/img/emoji/light_rail.png diff --git a/img/emoji/link.png b/app/img/emoji/link.png similarity index 100% rename from img/emoji/link.png rename to app/img/emoji/link.png diff --git a/img/emoji/lips.png b/app/img/emoji/lips.png similarity index 100% rename from img/emoji/lips.png rename to app/img/emoji/lips.png diff --git a/img/emoji/lipstick.png b/app/img/emoji/lipstick.png similarity index 100% rename from img/emoji/lipstick.png rename to app/img/emoji/lipstick.png diff --git a/img/emoji/lock.png b/app/img/emoji/lock.png similarity index 100% rename from img/emoji/lock.png rename to app/img/emoji/lock.png diff --git a/img/emoji/lock_with_ink_pen.png b/app/img/emoji/lock_with_ink_pen.png similarity index 100% rename from img/emoji/lock_with_ink_pen.png rename to app/img/emoji/lock_with_ink_pen.png diff --git a/img/emoji/lollipop.png b/app/img/emoji/lollipop.png similarity index 100% rename from img/emoji/lollipop.png rename to app/img/emoji/lollipop.png diff --git a/img/emoji/loop.png b/app/img/emoji/loop.png similarity index 100% rename from img/emoji/loop.png rename to app/img/emoji/loop.png diff --git a/img/emoji/loudspeaker.png b/app/img/emoji/loudspeaker.png similarity index 100% rename from img/emoji/loudspeaker.png rename to app/img/emoji/loudspeaker.png diff --git a/img/emoji/love_hotel.png b/app/img/emoji/love_hotel.png similarity index 100% rename from img/emoji/love_hotel.png rename to app/img/emoji/love_hotel.png diff --git a/img/emoji/love_letter.png b/app/img/emoji/love_letter.png similarity index 100% rename from img/emoji/love_letter.png rename to app/img/emoji/love_letter.png diff --git a/img/emoji/low_brightness.png b/app/img/emoji/low_brightness.png similarity index 100% rename from img/emoji/low_brightness.png rename to app/img/emoji/low_brightness.png diff --git a/img/emoji/m.png b/app/img/emoji/m.png similarity index 100% rename from img/emoji/m.png rename to app/img/emoji/m.png diff --git a/img/emoji/mag.png b/app/img/emoji/mag.png similarity index 100% rename from img/emoji/mag.png rename to app/img/emoji/mag.png diff --git a/img/emoji/mag_right.png b/app/img/emoji/mag_right.png similarity index 100% rename from img/emoji/mag_right.png rename to app/img/emoji/mag_right.png diff --git a/img/emoji/mahjong.png b/app/img/emoji/mahjong.png similarity index 100% rename from img/emoji/mahjong.png rename to app/img/emoji/mahjong.png diff --git a/img/emoji/mailbox.png b/app/img/emoji/mailbox.png similarity index 100% rename from img/emoji/mailbox.png rename to app/img/emoji/mailbox.png diff --git a/img/emoji/mailbox_closed.png b/app/img/emoji/mailbox_closed.png similarity index 100% rename from img/emoji/mailbox_closed.png rename to app/img/emoji/mailbox_closed.png diff --git a/img/emoji/mailbox_with_mail.png b/app/img/emoji/mailbox_with_mail.png similarity index 100% rename from img/emoji/mailbox_with_mail.png rename to app/img/emoji/mailbox_with_mail.png diff --git a/img/emoji/mailbox_with_no_mail.png b/app/img/emoji/mailbox_with_no_mail.png similarity index 100% rename from img/emoji/mailbox_with_no_mail.png rename to app/img/emoji/mailbox_with_no_mail.png diff --git a/img/emoji/man.png b/app/img/emoji/man.png similarity index 100% rename from img/emoji/man.png rename to app/img/emoji/man.png diff --git a/img/emoji/man_with_gua_pi_mao.png b/app/img/emoji/man_with_gua_pi_mao.png similarity index 100% rename from img/emoji/man_with_gua_pi_mao.png rename to app/img/emoji/man_with_gua_pi_mao.png diff --git a/img/emoji/man_with_turban.png b/app/img/emoji/man_with_turban.png similarity index 100% rename from img/emoji/man_with_turban.png rename to app/img/emoji/man_with_turban.png diff --git a/img/emoji/mans_shoe.png b/app/img/emoji/mans_shoe.png similarity index 100% rename from img/emoji/mans_shoe.png rename to app/img/emoji/mans_shoe.png diff --git a/img/emoji/maple_leaf.png b/app/img/emoji/maple_leaf.png similarity index 100% rename from img/emoji/maple_leaf.png rename to app/img/emoji/maple_leaf.png diff --git a/img/emoji/mask.png b/app/img/emoji/mask.png similarity index 100% rename from img/emoji/mask.png rename to app/img/emoji/mask.png diff --git a/img/emoji/massage.png b/app/img/emoji/massage.png similarity index 100% rename from img/emoji/massage.png rename to app/img/emoji/massage.png diff --git a/img/emoji/meat_on_bone.png b/app/img/emoji/meat_on_bone.png similarity index 100% rename from img/emoji/meat_on_bone.png rename to app/img/emoji/meat_on_bone.png diff --git a/img/emoji/mega.png b/app/img/emoji/mega.png similarity index 100% rename from img/emoji/mega.png rename to app/img/emoji/mega.png diff --git a/img/emoji/melon.png b/app/img/emoji/melon.png similarity index 100% rename from img/emoji/melon.png rename to app/img/emoji/melon.png diff --git a/img/emoji/memo.png b/app/img/emoji/memo.png similarity index 100% rename from img/emoji/memo.png rename to app/img/emoji/memo.png diff --git a/img/emoji/mens.png b/app/img/emoji/mens.png similarity index 100% rename from img/emoji/mens.png rename to app/img/emoji/mens.png diff --git a/img/emoji/metal.png b/app/img/emoji/metal.png similarity index 100% rename from img/emoji/metal.png rename to app/img/emoji/metal.png diff --git a/img/emoji/metro.png b/app/img/emoji/metro.png similarity index 100% rename from img/emoji/metro.png rename to app/img/emoji/metro.png diff --git a/img/emoji/microphone.png b/app/img/emoji/microphone.png similarity index 100% rename from img/emoji/microphone.png rename to app/img/emoji/microphone.png diff --git a/img/emoji/microscope.png b/app/img/emoji/microscope.png similarity index 100% rename from img/emoji/microscope.png rename to app/img/emoji/microscope.png diff --git a/img/emoji/milky_way.png b/app/img/emoji/milky_way.png similarity index 100% rename from img/emoji/milky_way.png rename to app/img/emoji/milky_way.png diff --git a/img/emoji/minibus.png b/app/img/emoji/minibus.png similarity index 100% rename from img/emoji/minibus.png rename to app/img/emoji/minibus.png diff --git a/img/emoji/minidisc.png b/app/img/emoji/minidisc.png similarity index 100% rename from img/emoji/minidisc.png rename to app/img/emoji/minidisc.png diff --git a/img/emoji/mobile_phone_off.png b/app/img/emoji/mobile_phone_off.png similarity index 100% rename from img/emoji/mobile_phone_off.png rename to app/img/emoji/mobile_phone_off.png diff --git a/img/emoji/money_with_wings.png b/app/img/emoji/money_with_wings.png similarity index 100% rename from img/emoji/money_with_wings.png rename to app/img/emoji/money_with_wings.png diff --git a/img/emoji/moneybag.png b/app/img/emoji/moneybag.png similarity index 100% rename from img/emoji/moneybag.png rename to app/img/emoji/moneybag.png diff --git a/img/emoji/monkey.png b/app/img/emoji/monkey.png similarity index 100% rename from img/emoji/monkey.png rename to app/img/emoji/monkey.png diff --git a/img/emoji/monkey_face.png b/app/img/emoji/monkey_face.png similarity index 100% rename from img/emoji/monkey_face.png rename to app/img/emoji/monkey_face.png diff --git a/img/emoji/monorail.png b/app/img/emoji/monorail.png similarity index 100% rename from img/emoji/monorail.png rename to app/img/emoji/monorail.png diff --git a/img/emoji/mortar_board.png b/app/img/emoji/mortar_board.png similarity index 100% rename from img/emoji/mortar_board.png rename to app/img/emoji/mortar_board.png diff --git a/img/emoji/mount_fuji.png b/app/img/emoji/mount_fuji.png similarity index 100% rename from img/emoji/mount_fuji.png rename to app/img/emoji/mount_fuji.png diff --git a/img/emoji/mountain_bicyclist.png b/app/img/emoji/mountain_bicyclist.png similarity index 100% rename from img/emoji/mountain_bicyclist.png rename to app/img/emoji/mountain_bicyclist.png diff --git a/img/emoji/mountain_cableway.png b/app/img/emoji/mountain_cableway.png similarity index 100% rename from img/emoji/mountain_cableway.png rename to app/img/emoji/mountain_cableway.png diff --git a/img/emoji/mountain_railway.png b/app/img/emoji/mountain_railway.png similarity index 100% rename from img/emoji/mountain_railway.png rename to app/img/emoji/mountain_railway.png diff --git a/img/emoji/mouse.png b/app/img/emoji/mouse.png similarity index 100% rename from img/emoji/mouse.png rename to app/img/emoji/mouse.png diff --git a/img/emoji/mouse2.png b/app/img/emoji/mouse2.png similarity index 100% rename from img/emoji/mouse2.png rename to app/img/emoji/mouse2.png diff --git a/img/emoji/movie_camera.png b/app/img/emoji/movie_camera.png similarity index 100% rename from img/emoji/movie_camera.png rename to app/img/emoji/movie_camera.png diff --git a/img/emoji/moyai.png b/app/img/emoji/moyai.png similarity index 100% rename from img/emoji/moyai.png rename to app/img/emoji/moyai.png diff --git a/img/emoji/muscle.png b/app/img/emoji/muscle.png similarity index 100% rename from img/emoji/muscle.png rename to app/img/emoji/muscle.png diff --git a/img/emoji/mushroom.png b/app/img/emoji/mushroom.png similarity index 100% rename from img/emoji/mushroom.png rename to app/img/emoji/mushroom.png diff --git a/img/emoji/musical_keyboard.png b/app/img/emoji/musical_keyboard.png similarity index 100% rename from img/emoji/musical_keyboard.png rename to app/img/emoji/musical_keyboard.png diff --git a/img/emoji/musical_note.png b/app/img/emoji/musical_note.png similarity index 100% rename from img/emoji/musical_note.png rename to app/img/emoji/musical_note.png diff --git a/img/emoji/musical_score.png b/app/img/emoji/musical_score.png similarity index 100% rename from img/emoji/musical_score.png rename to app/img/emoji/musical_score.png diff --git a/img/emoji/mute.png b/app/img/emoji/mute.png similarity index 100% rename from img/emoji/mute.png rename to app/img/emoji/mute.png diff --git a/img/emoji/nail_care.png b/app/img/emoji/nail_care.png similarity index 100% rename from img/emoji/nail_care.png rename to app/img/emoji/nail_care.png diff --git a/img/emoji/name_badge.png b/app/img/emoji/name_badge.png similarity index 100% rename from img/emoji/name_badge.png rename to app/img/emoji/name_badge.png diff --git a/img/emoji/neckbeard.png b/app/img/emoji/neckbeard.png similarity index 100% rename from img/emoji/neckbeard.png rename to app/img/emoji/neckbeard.png diff --git a/img/emoji/necktie.png b/app/img/emoji/necktie.png similarity index 100% rename from img/emoji/necktie.png rename to app/img/emoji/necktie.png diff --git a/img/emoji/negative_squared_cross_mark.png b/app/img/emoji/negative_squared_cross_mark.png similarity index 100% rename from img/emoji/negative_squared_cross_mark.png rename to app/img/emoji/negative_squared_cross_mark.png diff --git a/img/emoji/neutral_face.png b/app/img/emoji/neutral_face.png similarity index 100% rename from img/emoji/neutral_face.png rename to app/img/emoji/neutral_face.png diff --git a/img/emoji/new.png b/app/img/emoji/new.png similarity index 100% rename from img/emoji/new.png rename to app/img/emoji/new.png diff --git a/img/emoji/new_moon.png b/app/img/emoji/new_moon.png similarity index 100% rename from img/emoji/new_moon.png rename to app/img/emoji/new_moon.png diff --git a/img/emoji/new_moon_with_face.png b/app/img/emoji/new_moon_with_face.png similarity index 100% rename from img/emoji/new_moon_with_face.png rename to app/img/emoji/new_moon_with_face.png diff --git a/img/emoji/newspaper.png b/app/img/emoji/newspaper.png similarity index 100% rename from img/emoji/newspaper.png rename to app/img/emoji/newspaper.png diff --git a/img/emoji/ng.png b/app/img/emoji/ng.png similarity index 100% rename from img/emoji/ng.png rename to app/img/emoji/ng.png diff --git a/img/emoji/nine.png b/app/img/emoji/nine.png similarity index 100% rename from img/emoji/nine.png rename to app/img/emoji/nine.png diff --git a/img/emoji/no_bell.png b/app/img/emoji/no_bell.png similarity index 100% rename from img/emoji/no_bell.png rename to app/img/emoji/no_bell.png diff --git a/img/emoji/no_bicycles.png b/app/img/emoji/no_bicycles.png similarity index 100% rename from img/emoji/no_bicycles.png rename to app/img/emoji/no_bicycles.png diff --git a/img/emoji/no_entry.png b/app/img/emoji/no_entry.png similarity index 100% rename from img/emoji/no_entry.png rename to app/img/emoji/no_entry.png diff --git a/img/emoji/no_entry_sign.png b/app/img/emoji/no_entry_sign.png similarity index 100% rename from img/emoji/no_entry_sign.png rename to app/img/emoji/no_entry_sign.png diff --git a/img/emoji/no_good.png b/app/img/emoji/no_good.png similarity index 100% rename from img/emoji/no_good.png rename to app/img/emoji/no_good.png diff --git a/img/emoji/no_mobile_phones.png b/app/img/emoji/no_mobile_phones.png similarity index 100% rename from img/emoji/no_mobile_phones.png rename to app/img/emoji/no_mobile_phones.png diff --git a/img/emoji/no_mouth.png b/app/img/emoji/no_mouth.png similarity index 100% rename from img/emoji/no_mouth.png rename to app/img/emoji/no_mouth.png diff --git a/img/emoji/no_pedestrians.png b/app/img/emoji/no_pedestrians.png similarity index 100% rename from img/emoji/no_pedestrians.png rename to app/img/emoji/no_pedestrians.png diff --git a/img/emoji/no_smoking.png b/app/img/emoji/no_smoking.png similarity index 100% rename from img/emoji/no_smoking.png rename to app/img/emoji/no_smoking.png diff --git a/img/emoji/non-potable_water.png b/app/img/emoji/non-potable_water.png similarity index 100% rename from img/emoji/non-potable_water.png rename to app/img/emoji/non-potable_water.png diff --git a/img/emoji/nose.png b/app/img/emoji/nose.png similarity index 100% rename from img/emoji/nose.png rename to app/img/emoji/nose.png diff --git a/img/emoji/notebook.png b/app/img/emoji/notebook.png similarity index 100% rename from img/emoji/notebook.png rename to app/img/emoji/notebook.png diff --git a/img/emoji/notebook_with_decorative_cover.png b/app/img/emoji/notebook_with_decorative_cover.png similarity index 100% rename from img/emoji/notebook_with_decorative_cover.png rename to app/img/emoji/notebook_with_decorative_cover.png diff --git a/img/emoji/notes.png b/app/img/emoji/notes.png similarity index 100% rename from img/emoji/notes.png rename to app/img/emoji/notes.png diff --git a/img/emoji/nut_and_bolt.png b/app/img/emoji/nut_and_bolt.png similarity index 100% rename from img/emoji/nut_and_bolt.png rename to app/img/emoji/nut_and_bolt.png diff --git a/img/emoji/o.png b/app/img/emoji/o.png similarity index 100% rename from img/emoji/o.png rename to app/img/emoji/o.png diff --git a/img/emoji/o2.png b/app/img/emoji/o2.png similarity index 100% rename from img/emoji/o2.png rename to app/img/emoji/o2.png diff --git a/img/emoji/ocean.png b/app/img/emoji/ocean.png similarity index 100% rename from img/emoji/ocean.png rename to app/img/emoji/ocean.png diff --git a/img/emoji/octocat.png b/app/img/emoji/octocat.png similarity index 100% rename from img/emoji/octocat.png rename to app/img/emoji/octocat.png diff --git a/img/emoji/octopus.png b/app/img/emoji/octopus.png similarity index 100% rename from img/emoji/octopus.png rename to app/img/emoji/octopus.png diff --git a/img/emoji/oden.png b/app/img/emoji/oden.png similarity index 100% rename from img/emoji/oden.png rename to app/img/emoji/oden.png diff --git a/img/emoji/office.png b/app/img/emoji/office.png similarity index 100% rename from img/emoji/office.png rename to app/img/emoji/office.png diff --git a/img/emoji/ok.png b/app/img/emoji/ok.png similarity index 100% rename from img/emoji/ok.png rename to app/img/emoji/ok.png diff --git a/img/emoji/ok_hand.png b/app/img/emoji/ok_hand.png similarity index 100% rename from img/emoji/ok_hand.png rename to app/img/emoji/ok_hand.png diff --git a/img/emoji/ok_woman.png b/app/img/emoji/ok_woman.png similarity index 100% rename from img/emoji/ok_woman.png rename to app/img/emoji/ok_woman.png diff --git a/img/emoji/older_man.png b/app/img/emoji/older_man.png similarity index 100% rename from img/emoji/older_man.png rename to app/img/emoji/older_man.png diff --git a/img/emoji/older_woman.png b/app/img/emoji/older_woman.png similarity index 100% rename from img/emoji/older_woman.png rename to app/img/emoji/older_woman.png diff --git a/img/emoji/on.png b/app/img/emoji/on.png similarity index 100% rename from img/emoji/on.png rename to app/img/emoji/on.png diff --git a/img/emoji/oncoming_automobile.png b/app/img/emoji/oncoming_automobile.png similarity index 100% rename from img/emoji/oncoming_automobile.png rename to app/img/emoji/oncoming_automobile.png diff --git a/img/emoji/oncoming_bus.png b/app/img/emoji/oncoming_bus.png similarity index 100% rename from img/emoji/oncoming_bus.png rename to app/img/emoji/oncoming_bus.png diff --git a/img/emoji/oncoming_police_car.png b/app/img/emoji/oncoming_police_car.png similarity index 100% rename from img/emoji/oncoming_police_car.png rename to app/img/emoji/oncoming_police_car.png diff --git a/img/emoji/oncoming_taxi.png b/app/img/emoji/oncoming_taxi.png similarity index 100% rename from img/emoji/oncoming_taxi.png rename to app/img/emoji/oncoming_taxi.png diff --git a/img/emoji/one.png b/app/img/emoji/one.png similarity index 100% rename from img/emoji/one.png rename to app/img/emoji/one.png diff --git a/img/emoji/open_file_folder.png b/app/img/emoji/open_file_folder.png similarity index 100% rename from img/emoji/open_file_folder.png rename to app/img/emoji/open_file_folder.png diff --git a/img/emoji/open_hands.png b/app/img/emoji/open_hands.png similarity index 100% rename from img/emoji/open_hands.png rename to app/img/emoji/open_hands.png diff --git a/img/emoji/open_mouth.png b/app/img/emoji/open_mouth.png similarity index 100% rename from img/emoji/open_mouth.png rename to app/img/emoji/open_mouth.png diff --git a/img/emoji/ophiuchus.png b/app/img/emoji/ophiuchus.png similarity index 100% rename from img/emoji/ophiuchus.png rename to app/img/emoji/ophiuchus.png diff --git a/img/emoji/orange_book.png b/app/img/emoji/orange_book.png similarity index 100% rename from img/emoji/orange_book.png rename to app/img/emoji/orange_book.png diff --git a/img/emoji/outbox_tray.png b/app/img/emoji/outbox_tray.png similarity index 100% rename from img/emoji/outbox_tray.png rename to app/img/emoji/outbox_tray.png diff --git a/img/emoji/ox.png b/app/img/emoji/ox.png similarity index 100% rename from img/emoji/ox.png rename to app/img/emoji/ox.png diff --git a/img/emoji/package.png b/app/img/emoji/package.png similarity index 100% rename from img/emoji/package.png rename to app/img/emoji/package.png diff --git a/img/emoji/page_facing_up.png b/app/img/emoji/page_facing_up.png similarity index 100% rename from img/emoji/page_facing_up.png rename to app/img/emoji/page_facing_up.png diff --git a/img/emoji/page_with_curl.png b/app/img/emoji/page_with_curl.png similarity index 100% rename from img/emoji/page_with_curl.png rename to app/img/emoji/page_with_curl.png diff --git a/img/emoji/pager.png b/app/img/emoji/pager.png similarity index 100% rename from img/emoji/pager.png rename to app/img/emoji/pager.png diff --git a/img/emoji/palm_tree.png b/app/img/emoji/palm_tree.png similarity index 100% rename from img/emoji/palm_tree.png rename to app/img/emoji/palm_tree.png diff --git a/img/emoji/panda_face.png b/app/img/emoji/panda_face.png similarity index 100% rename from img/emoji/panda_face.png rename to app/img/emoji/panda_face.png diff --git a/img/emoji/paperclip.png b/app/img/emoji/paperclip.png similarity index 100% rename from img/emoji/paperclip.png rename to app/img/emoji/paperclip.png diff --git a/img/emoji/parking.png b/app/img/emoji/parking.png similarity index 100% rename from img/emoji/parking.png rename to app/img/emoji/parking.png diff --git a/img/emoji/part_alternation_mark.png b/app/img/emoji/part_alternation_mark.png similarity index 100% rename from img/emoji/part_alternation_mark.png rename to app/img/emoji/part_alternation_mark.png diff --git a/img/emoji/partly_sunny.png b/app/img/emoji/partly_sunny.png similarity index 100% rename from img/emoji/partly_sunny.png rename to app/img/emoji/partly_sunny.png diff --git a/img/emoji/passport_control.png b/app/img/emoji/passport_control.png similarity index 100% rename from img/emoji/passport_control.png rename to app/img/emoji/passport_control.png diff --git a/img/emoji/paw_prints.png b/app/img/emoji/paw_prints.png similarity index 100% rename from img/emoji/paw_prints.png rename to app/img/emoji/paw_prints.png diff --git a/img/emoji/peach.png b/app/img/emoji/peach.png similarity index 100% rename from img/emoji/peach.png rename to app/img/emoji/peach.png diff --git a/img/emoji/pear.png b/app/img/emoji/pear.png similarity index 100% rename from img/emoji/pear.png rename to app/img/emoji/pear.png diff --git a/img/emoji/pencil.png b/app/img/emoji/pencil.png similarity index 100% rename from img/emoji/pencil.png rename to app/img/emoji/pencil.png diff --git a/img/emoji/pencil2.png b/app/img/emoji/pencil2.png similarity index 100% rename from img/emoji/pencil2.png rename to app/img/emoji/pencil2.png diff --git a/img/emoji/penguin.png b/app/img/emoji/penguin.png similarity index 100% rename from img/emoji/penguin.png rename to app/img/emoji/penguin.png diff --git a/img/emoji/pensive.png b/app/img/emoji/pensive.png similarity index 100% rename from img/emoji/pensive.png rename to app/img/emoji/pensive.png diff --git a/img/emoji/performing_arts.png b/app/img/emoji/performing_arts.png similarity index 100% rename from img/emoji/performing_arts.png rename to app/img/emoji/performing_arts.png diff --git a/img/emoji/persevere.png b/app/img/emoji/persevere.png similarity index 100% rename from img/emoji/persevere.png rename to app/img/emoji/persevere.png diff --git a/img/emoji/person_frowning.png b/app/img/emoji/person_frowning.png similarity index 100% rename from img/emoji/person_frowning.png rename to app/img/emoji/person_frowning.png diff --git a/img/emoji/person_with_blond_hair.png b/app/img/emoji/person_with_blond_hair.png similarity index 100% rename from img/emoji/person_with_blond_hair.png rename to app/img/emoji/person_with_blond_hair.png diff --git a/img/emoji/person_with_pouting_face.png b/app/img/emoji/person_with_pouting_face.png similarity index 100% rename from img/emoji/person_with_pouting_face.png rename to app/img/emoji/person_with_pouting_face.png diff --git a/img/emoji/phone.png b/app/img/emoji/phone.png similarity index 100% rename from img/emoji/phone.png rename to app/img/emoji/phone.png diff --git a/img/emoji/pig.png b/app/img/emoji/pig.png similarity index 100% rename from img/emoji/pig.png rename to app/img/emoji/pig.png diff --git a/img/emoji/pig2.png b/app/img/emoji/pig2.png similarity index 100% rename from img/emoji/pig2.png rename to app/img/emoji/pig2.png diff --git a/img/emoji/pig_nose.png b/app/img/emoji/pig_nose.png similarity index 100% rename from img/emoji/pig_nose.png rename to app/img/emoji/pig_nose.png diff --git a/img/emoji/pill.png b/app/img/emoji/pill.png similarity index 100% rename from img/emoji/pill.png rename to app/img/emoji/pill.png diff --git a/img/emoji/pineapple.png b/app/img/emoji/pineapple.png similarity index 100% rename from img/emoji/pineapple.png rename to app/img/emoji/pineapple.png diff --git a/img/emoji/pisces.png b/app/img/emoji/pisces.png similarity index 100% rename from img/emoji/pisces.png rename to app/img/emoji/pisces.png diff --git a/img/emoji/pizza.png b/app/img/emoji/pizza.png similarity index 100% rename from img/emoji/pizza.png rename to app/img/emoji/pizza.png diff --git a/img/emoji/plus1.png b/app/img/emoji/plus1.png similarity index 100% rename from img/emoji/plus1.png rename to app/img/emoji/plus1.png diff --git a/img/emoji/point_down.png b/app/img/emoji/point_down.png similarity index 100% rename from img/emoji/point_down.png rename to app/img/emoji/point_down.png diff --git a/img/emoji/point_left.png b/app/img/emoji/point_left.png similarity index 100% rename from img/emoji/point_left.png rename to app/img/emoji/point_left.png diff --git a/img/emoji/point_right.png b/app/img/emoji/point_right.png similarity index 100% rename from img/emoji/point_right.png rename to app/img/emoji/point_right.png diff --git a/img/emoji/point_up.png b/app/img/emoji/point_up.png similarity index 100% rename from img/emoji/point_up.png rename to app/img/emoji/point_up.png diff --git a/img/emoji/point_up_2.png b/app/img/emoji/point_up_2.png similarity index 100% rename from img/emoji/point_up_2.png rename to app/img/emoji/point_up_2.png diff --git a/img/emoji/police_car.png b/app/img/emoji/police_car.png similarity index 100% rename from img/emoji/police_car.png rename to app/img/emoji/police_car.png diff --git a/img/emoji/poodle.png b/app/img/emoji/poodle.png similarity index 100% rename from img/emoji/poodle.png rename to app/img/emoji/poodle.png diff --git a/img/emoji/poop.png b/app/img/emoji/poop.png similarity index 100% rename from img/emoji/poop.png rename to app/img/emoji/poop.png diff --git a/img/emoji/post_office.png b/app/img/emoji/post_office.png similarity index 100% rename from img/emoji/post_office.png rename to app/img/emoji/post_office.png diff --git a/img/emoji/postal_horn.png b/app/img/emoji/postal_horn.png similarity index 100% rename from img/emoji/postal_horn.png rename to app/img/emoji/postal_horn.png diff --git a/img/emoji/postbox.png b/app/img/emoji/postbox.png similarity index 100% rename from img/emoji/postbox.png rename to app/img/emoji/postbox.png diff --git a/img/emoji/potable_water.png b/app/img/emoji/potable_water.png similarity index 100% rename from img/emoji/potable_water.png rename to app/img/emoji/potable_water.png diff --git a/img/emoji/pouch.png b/app/img/emoji/pouch.png similarity index 100% rename from img/emoji/pouch.png rename to app/img/emoji/pouch.png diff --git a/img/emoji/poultry_leg.png b/app/img/emoji/poultry_leg.png similarity index 100% rename from img/emoji/poultry_leg.png rename to app/img/emoji/poultry_leg.png diff --git a/img/emoji/pound.png b/app/img/emoji/pound.png similarity index 100% rename from img/emoji/pound.png rename to app/img/emoji/pound.png diff --git a/img/emoji/pouting_cat.png b/app/img/emoji/pouting_cat.png similarity index 100% rename from img/emoji/pouting_cat.png rename to app/img/emoji/pouting_cat.png diff --git a/img/emoji/pray.png b/app/img/emoji/pray.png similarity index 100% rename from img/emoji/pray.png rename to app/img/emoji/pray.png diff --git a/img/emoji/princess.png b/app/img/emoji/princess.png similarity index 100% rename from img/emoji/princess.png rename to app/img/emoji/princess.png diff --git a/img/emoji/punch.png b/app/img/emoji/punch.png similarity index 100% rename from img/emoji/punch.png rename to app/img/emoji/punch.png diff --git a/img/emoji/purple_heart.png b/app/img/emoji/purple_heart.png similarity index 100% rename from img/emoji/purple_heart.png rename to app/img/emoji/purple_heart.png diff --git a/img/emoji/purse.png b/app/img/emoji/purse.png similarity index 100% rename from img/emoji/purse.png rename to app/img/emoji/purse.png diff --git a/img/emoji/pushpin.png b/app/img/emoji/pushpin.png similarity index 100% rename from img/emoji/pushpin.png rename to app/img/emoji/pushpin.png diff --git a/img/emoji/put_litter_in_its_place.png b/app/img/emoji/put_litter_in_its_place.png similarity index 100% rename from img/emoji/put_litter_in_its_place.png rename to app/img/emoji/put_litter_in_its_place.png diff --git a/img/emoji/question.png b/app/img/emoji/question.png similarity index 100% rename from img/emoji/question.png rename to app/img/emoji/question.png diff --git a/img/emoji/rabbit.png b/app/img/emoji/rabbit.png similarity index 100% rename from img/emoji/rabbit.png rename to app/img/emoji/rabbit.png diff --git a/img/emoji/rabbit2.png b/app/img/emoji/rabbit2.png similarity index 100% rename from img/emoji/rabbit2.png rename to app/img/emoji/rabbit2.png diff --git a/img/emoji/racehorse.png b/app/img/emoji/racehorse.png similarity index 100% rename from img/emoji/racehorse.png rename to app/img/emoji/racehorse.png diff --git a/img/emoji/radio.png b/app/img/emoji/radio.png similarity index 100% rename from img/emoji/radio.png rename to app/img/emoji/radio.png diff --git a/img/emoji/radio_button.png b/app/img/emoji/radio_button.png similarity index 100% rename from img/emoji/radio_button.png rename to app/img/emoji/radio_button.png diff --git a/img/emoji/rage.png b/app/img/emoji/rage.png similarity index 100% rename from img/emoji/rage.png rename to app/img/emoji/rage.png diff --git a/img/emoji/rage1.png b/app/img/emoji/rage1.png similarity index 100% rename from img/emoji/rage1.png rename to app/img/emoji/rage1.png diff --git a/img/emoji/rage2.png b/app/img/emoji/rage2.png similarity index 100% rename from img/emoji/rage2.png rename to app/img/emoji/rage2.png diff --git a/img/emoji/rage3.png b/app/img/emoji/rage3.png similarity index 100% rename from img/emoji/rage3.png rename to app/img/emoji/rage3.png diff --git a/img/emoji/rage4.png b/app/img/emoji/rage4.png similarity index 100% rename from img/emoji/rage4.png rename to app/img/emoji/rage4.png diff --git a/img/emoji/railway_car.png b/app/img/emoji/railway_car.png similarity index 100% rename from img/emoji/railway_car.png rename to app/img/emoji/railway_car.png diff --git a/img/emoji/rainbow.png b/app/img/emoji/rainbow.png similarity index 100% rename from img/emoji/rainbow.png rename to app/img/emoji/rainbow.png diff --git a/img/emoji/raised_hand.png b/app/img/emoji/raised_hand.png similarity index 100% rename from img/emoji/raised_hand.png rename to app/img/emoji/raised_hand.png diff --git a/img/emoji/raised_hands.png b/app/img/emoji/raised_hands.png similarity index 100% rename from img/emoji/raised_hands.png rename to app/img/emoji/raised_hands.png diff --git a/img/emoji/raising_hand.png b/app/img/emoji/raising_hand.png similarity index 100% rename from img/emoji/raising_hand.png rename to app/img/emoji/raising_hand.png diff --git a/img/emoji/ram.png b/app/img/emoji/ram.png similarity index 100% rename from img/emoji/ram.png rename to app/img/emoji/ram.png diff --git a/img/emoji/ramen.png b/app/img/emoji/ramen.png similarity index 100% rename from img/emoji/ramen.png rename to app/img/emoji/ramen.png diff --git a/img/emoji/rat.png b/app/img/emoji/rat.png similarity index 100% rename from img/emoji/rat.png rename to app/img/emoji/rat.png diff --git a/img/emoji/recycle.png b/app/img/emoji/recycle.png similarity index 100% rename from img/emoji/recycle.png rename to app/img/emoji/recycle.png diff --git a/img/emoji/red_car.png b/app/img/emoji/red_car.png similarity index 100% rename from img/emoji/red_car.png rename to app/img/emoji/red_car.png diff --git a/img/emoji/red_circle.png b/app/img/emoji/red_circle.png similarity index 100% rename from img/emoji/red_circle.png rename to app/img/emoji/red_circle.png diff --git a/img/emoji/registered.png b/app/img/emoji/registered.png similarity index 100% rename from img/emoji/registered.png rename to app/img/emoji/registered.png diff --git a/img/emoji/relaxed.png b/app/img/emoji/relaxed.png similarity index 100% rename from img/emoji/relaxed.png rename to app/img/emoji/relaxed.png diff --git a/img/emoji/relieved.png b/app/img/emoji/relieved.png similarity index 100% rename from img/emoji/relieved.png rename to app/img/emoji/relieved.png diff --git a/img/emoji/repeat.png b/app/img/emoji/repeat.png similarity index 100% rename from img/emoji/repeat.png rename to app/img/emoji/repeat.png diff --git a/img/emoji/repeat_one.png b/app/img/emoji/repeat_one.png similarity index 100% rename from img/emoji/repeat_one.png rename to app/img/emoji/repeat_one.png diff --git a/img/emoji/restroom.png b/app/img/emoji/restroom.png similarity index 100% rename from img/emoji/restroom.png rename to app/img/emoji/restroom.png diff --git a/img/emoji/revolving_hearts.png b/app/img/emoji/revolving_hearts.png similarity index 100% rename from img/emoji/revolving_hearts.png rename to app/img/emoji/revolving_hearts.png diff --git a/img/emoji/rewind.png b/app/img/emoji/rewind.png similarity index 100% rename from img/emoji/rewind.png rename to app/img/emoji/rewind.png diff --git a/img/emoji/ribbon.png b/app/img/emoji/ribbon.png similarity index 100% rename from img/emoji/ribbon.png rename to app/img/emoji/ribbon.png diff --git a/img/emoji/rice.png b/app/img/emoji/rice.png similarity index 100% rename from img/emoji/rice.png rename to app/img/emoji/rice.png diff --git a/img/emoji/rice_ball.png b/app/img/emoji/rice_ball.png similarity index 100% rename from img/emoji/rice_ball.png rename to app/img/emoji/rice_ball.png diff --git a/img/emoji/rice_cracker.png b/app/img/emoji/rice_cracker.png similarity index 100% rename from img/emoji/rice_cracker.png rename to app/img/emoji/rice_cracker.png diff --git a/img/emoji/rice_scene.png b/app/img/emoji/rice_scene.png similarity index 100% rename from img/emoji/rice_scene.png rename to app/img/emoji/rice_scene.png diff --git a/img/emoji/ring.png b/app/img/emoji/ring.png similarity index 100% rename from img/emoji/ring.png rename to app/img/emoji/ring.png diff --git a/img/emoji/rocket.png b/app/img/emoji/rocket.png similarity index 100% rename from img/emoji/rocket.png rename to app/img/emoji/rocket.png diff --git a/img/emoji/roller_coaster.png b/app/img/emoji/roller_coaster.png similarity index 100% rename from img/emoji/roller_coaster.png rename to app/img/emoji/roller_coaster.png diff --git a/img/emoji/rooster.png b/app/img/emoji/rooster.png similarity index 100% rename from img/emoji/rooster.png rename to app/img/emoji/rooster.png diff --git a/img/emoji/rose.png b/app/img/emoji/rose.png similarity index 100% rename from img/emoji/rose.png rename to app/img/emoji/rose.png diff --git a/img/emoji/rotating_light.png b/app/img/emoji/rotating_light.png similarity index 100% rename from img/emoji/rotating_light.png rename to app/img/emoji/rotating_light.png diff --git a/img/emoji/round_pushpin.png b/app/img/emoji/round_pushpin.png similarity index 100% rename from img/emoji/round_pushpin.png rename to app/img/emoji/round_pushpin.png diff --git a/img/emoji/rowboat.png b/app/img/emoji/rowboat.png similarity index 100% rename from img/emoji/rowboat.png rename to app/img/emoji/rowboat.png diff --git a/img/emoji/ru.png b/app/img/emoji/ru.png similarity index 100% rename from img/emoji/ru.png rename to app/img/emoji/ru.png diff --git a/img/emoji/rugby_football.png b/app/img/emoji/rugby_football.png similarity index 100% rename from img/emoji/rugby_football.png rename to app/img/emoji/rugby_football.png diff --git a/img/emoji/runner.png b/app/img/emoji/runner.png similarity index 100% rename from img/emoji/runner.png rename to app/img/emoji/runner.png diff --git a/img/emoji/running.png b/app/img/emoji/running.png similarity index 100% rename from img/emoji/running.png rename to app/img/emoji/running.png diff --git a/img/emoji/running_shirt_with_sash.png b/app/img/emoji/running_shirt_with_sash.png similarity index 100% rename from img/emoji/running_shirt_with_sash.png rename to app/img/emoji/running_shirt_with_sash.png diff --git a/img/emoji/sa.png b/app/img/emoji/sa.png similarity index 100% rename from img/emoji/sa.png rename to app/img/emoji/sa.png diff --git a/img/emoji/sagittarius.png b/app/img/emoji/sagittarius.png similarity index 100% rename from img/emoji/sagittarius.png rename to app/img/emoji/sagittarius.png diff --git a/img/emoji/sailboat.png b/app/img/emoji/sailboat.png similarity index 100% rename from img/emoji/sailboat.png rename to app/img/emoji/sailboat.png diff --git a/img/emoji/sake.png b/app/img/emoji/sake.png similarity index 100% rename from img/emoji/sake.png rename to app/img/emoji/sake.png diff --git a/img/emoji/sandal.png b/app/img/emoji/sandal.png similarity index 100% rename from img/emoji/sandal.png rename to app/img/emoji/sandal.png diff --git a/img/emoji/santa.png b/app/img/emoji/santa.png similarity index 100% rename from img/emoji/santa.png rename to app/img/emoji/santa.png diff --git a/img/emoji/satellite.png b/app/img/emoji/satellite.png similarity index 100% rename from img/emoji/satellite.png rename to app/img/emoji/satellite.png diff --git a/img/emoji/satisfied.png b/app/img/emoji/satisfied.png similarity index 100% rename from img/emoji/satisfied.png rename to app/img/emoji/satisfied.png diff --git a/img/emoji/saxophone.png b/app/img/emoji/saxophone.png similarity index 100% rename from img/emoji/saxophone.png rename to app/img/emoji/saxophone.png diff --git a/img/emoji/school.png b/app/img/emoji/school.png similarity index 100% rename from img/emoji/school.png rename to app/img/emoji/school.png diff --git a/img/emoji/school_satchel.png b/app/img/emoji/school_satchel.png similarity index 100% rename from img/emoji/school_satchel.png rename to app/img/emoji/school_satchel.png diff --git a/img/emoji/scissors.png b/app/img/emoji/scissors.png similarity index 100% rename from img/emoji/scissors.png rename to app/img/emoji/scissors.png diff --git a/img/emoji/scorpius.png b/app/img/emoji/scorpius.png similarity index 100% rename from img/emoji/scorpius.png rename to app/img/emoji/scorpius.png diff --git a/img/emoji/scream.png b/app/img/emoji/scream.png similarity index 100% rename from img/emoji/scream.png rename to app/img/emoji/scream.png diff --git a/img/emoji/scream_cat.png b/app/img/emoji/scream_cat.png similarity index 100% rename from img/emoji/scream_cat.png rename to app/img/emoji/scream_cat.png diff --git a/img/emoji/scroll.png b/app/img/emoji/scroll.png similarity index 100% rename from img/emoji/scroll.png rename to app/img/emoji/scroll.png diff --git a/img/emoji/seat.png b/app/img/emoji/seat.png similarity index 100% rename from img/emoji/seat.png rename to app/img/emoji/seat.png diff --git a/img/emoji/secret.png b/app/img/emoji/secret.png similarity index 100% rename from img/emoji/secret.png rename to app/img/emoji/secret.png diff --git a/img/emoji/see_no_evil.png b/app/img/emoji/see_no_evil.png similarity index 100% rename from img/emoji/see_no_evil.png rename to app/img/emoji/see_no_evil.png diff --git a/img/emoji/seedling.png b/app/img/emoji/seedling.png similarity index 100% rename from img/emoji/seedling.png rename to app/img/emoji/seedling.png diff --git a/img/emoji/seven.png b/app/img/emoji/seven.png similarity index 100% rename from img/emoji/seven.png rename to app/img/emoji/seven.png diff --git a/img/emoji/shaved_ice.png b/app/img/emoji/shaved_ice.png similarity index 100% rename from img/emoji/shaved_ice.png rename to app/img/emoji/shaved_ice.png diff --git a/img/emoji/sheep.png b/app/img/emoji/sheep.png similarity index 100% rename from img/emoji/sheep.png rename to app/img/emoji/sheep.png diff --git a/img/emoji/shell.png b/app/img/emoji/shell.png similarity index 100% rename from img/emoji/shell.png rename to app/img/emoji/shell.png diff --git a/img/emoji/ship.png b/app/img/emoji/ship.png similarity index 100% rename from img/emoji/ship.png rename to app/img/emoji/ship.png diff --git a/img/emoji/shipit.png b/app/img/emoji/shipit.png similarity index 100% rename from img/emoji/shipit.png rename to app/img/emoji/shipit.png diff --git a/img/emoji/shirt.png b/app/img/emoji/shirt.png similarity index 100% rename from img/emoji/shirt.png rename to app/img/emoji/shirt.png diff --git a/img/emoji/shit.png b/app/img/emoji/shit.png similarity index 100% rename from img/emoji/shit.png rename to app/img/emoji/shit.png diff --git a/img/emoji/shoe.png b/app/img/emoji/shoe.png similarity index 100% rename from img/emoji/shoe.png rename to app/img/emoji/shoe.png diff --git a/img/emoji/shower.png b/app/img/emoji/shower.png similarity index 100% rename from img/emoji/shower.png rename to app/img/emoji/shower.png diff --git a/img/emoji/signal_strength.png b/app/img/emoji/signal_strength.png similarity index 100% rename from img/emoji/signal_strength.png rename to app/img/emoji/signal_strength.png diff --git a/img/emoji/six.png b/app/img/emoji/six.png similarity index 100% rename from img/emoji/six.png rename to app/img/emoji/six.png diff --git a/img/emoji/six_pointed_star.png b/app/img/emoji/six_pointed_star.png similarity index 100% rename from img/emoji/six_pointed_star.png rename to app/img/emoji/six_pointed_star.png diff --git a/img/emoji/ski.png b/app/img/emoji/ski.png similarity index 100% rename from img/emoji/ski.png rename to app/img/emoji/ski.png diff --git a/img/emoji/skull.png b/app/img/emoji/skull.png similarity index 100% rename from img/emoji/skull.png rename to app/img/emoji/skull.png diff --git a/img/emoji/sleeping.png b/app/img/emoji/sleeping.png similarity index 100% rename from img/emoji/sleeping.png rename to app/img/emoji/sleeping.png diff --git a/img/emoji/sleepy.png b/app/img/emoji/sleepy.png similarity index 100% rename from img/emoji/sleepy.png rename to app/img/emoji/sleepy.png diff --git a/img/emoji/slot_machine.png b/app/img/emoji/slot_machine.png similarity index 100% rename from img/emoji/slot_machine.png rename to app/img/emoji/slot_machine.png diff --git a/img/emoji/small_blue_diamond.png b/app/img/emoji/small_blue_diamond.png similarity index 100% rename from img/emoji/small_blue_diamond.png rename to app/img/emoji/small_blue_diamond.png diff --git a/img/emoji/small_orange_diamond.png b/app/img/emoji/small_orange_diamond.png similarity index 100% rename from img/emoji/small_orange_diamond.png rename to app/img/emoji/small_orange_diamond.png diff --git a/img/emoji/small_red_triangle.png b/app/img/emoji/small_red_triangle.png similarity index 100% rename from img/emoji/small_red_triangle.png rename to app/img/emoji/small_red_triangle.png diff --git a/img/emoji/small_red_triangle_down.png b/app/img/emoji/small_red_triangle_down.png similarity index 100% rename from img/emoji/small_red_triangle_down.png rename to app/img/emoji/small_red_triangle_down.png diff --git a/img/emoji/smile.png b/app/img/emoji/smile.png similarity index 100% rename from img/emoji/smile.png rename to app/img/emoji/smile.png diff --git a/img/emoji/smile_cat.png b/app/img/emoji/smile_cat.png similarity index 100% rename from img/emoji/smile_cat.png rename to app/img/emoji/smile_cat.png diff --git a/img/emoji/smiley.png b/app/img/emoji/smiley.png similarity index 100% rename from img/emoji/smiley.png rename to app/img/emoji/smiley.png diff --git a/img/emoji/smiley_cat.png b/app/img/emoji/smiley_cat.png similarity index 100% rename from img/emoji/smiley_cat.png rename to app/img/emoji/smiley_cat.png diff --git a/img/emoji/smiling_imp.png b/app/img/emoji/smiling_imp.png similarity index 100% rename from img/emoji/smiling_imp.png rename to app/img/emoji/smiling_imp.png diff --git a/img/emoji/smirk.png b/app/img/emoji/smirk.png similarity index 100% rename from img/emoji/smirk.png rename to app/img/emoji/smirk.png diff --git a/img/emoji/smirk_cat.png b/app/img/emoji/smirk_cat.png similarity index 100% rename from img/emoji/smirk_cat.png rename to app/img/emoji/smirk_cat.png diff --git a/img/emoji/smoking.png b/app/img/emoji/smoking.png similarity index 100% rename from img/emoji/smoking.png rename to app/img/emoji/smoking.png diff --git a/img/emoji/snail.png b/app/img/emoji/snail.png similarity index 100% rename from img/emoji/snail.png rename to app/img/emoji/snail.png diff --git a/img/emoji/snake.png b/app/img/emoji/snake.png similarity index 100% rename from img/emoji/snake.png rename to app/img/emoji/snake.png diff --git a/img/emoji/snowboarder.png b/app/img/emoji/snowboarder.png similarity index 100% rename from img/emoji/snowboarder.png rename to app/img/emoji/snowboarder.png diff --git a/img/emoji/snowflake.png b/app/img/emoji/snowflake.png similarity index 100% rename from img/emoji/snowflake.png rename to app/img/emoji/snowflake.png diff --git a/img/emoji/snowman.png b/app/img/emoji/snowman.png similarity index 100% rename from img/emoji/snowman.png rename to app/img/emoji/snowman.png diff --git a/img/emoji/sob.png b/app/img/emoji/sob.png similarity index 100% rename from img/emoji/sob.png rename to app/img/emoji/sob.png diff --git a/img/emoji/soccer.png b/app/img/emoji/soccer.png similarity index 100% rename from img/emoji/soccer.png rename to app/img/emoji/soccer.png diff --git a/img/emoji/soon.png b/app/img/emoji/soon.png similarity index 100% rename from img/emoji/soon.png rename to app/img/emoji/soon.png diff --git a/img/emoji/sos.png b/app/img/emoji/sos.png similarity index 100% rename from img/emoji/sos.png rename to app/img/emoji/sos.png diff --git a/img/emoji/sound.png b/app/img/emoji/sound.png similarity index 100% rename from img/emoji/sound.png rename to app/img/emoji/sound.png diff --git a/img/emoji/space_invader.png b/app/img/emoji/space_invader.png similarity index 100% rename from img/emoji/space_invader.png rename to app/img/emoji/space_invader.png diff --git a/img/emoji/spades.png b/app/img/emoji/spades.png similarity index 100% rename from img/emoji/spades.png rename to app/img/emoji/spades.png diff --git a/img/emoji/spaghetti.png b/app/img/emoji/spaghetti.png similarity index 100% rename from img/emoji/spaghetti.png rename to app/img/emoji/spaghetti.png diff --git a/img/emoji/sparkle.png b/app/img/emoji/sparkle.png similarity index 100% rename from img/emoji/sparkle.png rename to app/img/emoji/sparkle.png diff --git a/img/emoji/sparkler.png b/app/img/emoji/sparkler.png similarity index 100% rename from img/emoji/sparkler.png rename to app/img/emoji/sparkler.png diff --git a/img/emoji/sparkles.png b/app/img/emoji/sparkles.png similarity index 100% rename from img/emoji/sparkles.png rename to app/img/emoji/sparkles.png diff --git a/img/emoji/sparkling_heart.png b/app/img/emoji/sparkling_heart.png similarity index 100% rename from img/emoji/sparkling_heart.png rename to app/img/emoji/sparkling_heart.png diff --git a/img/emoji/speak_no_evil.png b/app/img/emoji/speak_no_evil.png similarity index 100% rename from img/emoji/speak_no_evil.png rename to app/img/emoji/speak_no_evil.png diff --git a/img/emoji/speaker.png b/app/img/emoji/speaker.png similarity index 100% rename from img/emoji/speaker.png rename to app/img/emoji/speaker.png diff --git a/img/emoji/speech_balloon.png b/app/img/emoji/speech_balloon.png similarity index 100% rename from img/emoji/speech_balloon.png rename to app/img/emoji/speech_balloon.png diff --git a/img/emoji/speedboat.png b/app/img/emoji/speedboat.png similarity index 100% rename from img/emoji/speedboat.png rename to app/img/emoji/speedboat.png diff --git a/img/emoji/squirrel.png b/app/img/emoji/squirrel.png similarity index 100% rename from img/emoji/squirrel.png rename to app/img/emoji/squirrel.png diff --git a/img/emoji/star.png b/app/img/emoji/star.png similarity index 100% rename from img/emoji/star.png rename to app/img/emoji/star.png diff --git a/img/emoji/star2.png b/app/img/emoji/star2.png similarity index 100% rename from img/emoji/star2.png rename to app/img/emoji/star2.png diff --git a/img/emoji/stars.png b/app/img/emoji/stars.png similarity index 100% rename from img/emoji/stars.png rename to app/img/emoji/stars.png diff --git a/img/emoji/station.png b/app/img/emoji/station.png similarity index 100% rename from img/emoji/station.png rename to app/img/emoji/station.png diff --git a/img/emoji/statue_of_liberty.png b/app/img/emoji/statue_of_liberty.png similarity index 100% rename from img/emoji/statue_of_liberty.png rename to app/img/emoji/statue_of_liberty.png diff --git a/img/emoji/steam_locomotive.png b/app/img/emoji/steam_locomotive.png similarity index 100% rename from img/emoji/steam_locomotive.png rename to app/img/emoji/steam_locomotive.png diff --git a/img/emoji/stew.png b/app/img/emoji/stew.png similarity index 100% rename from img/emoji/stew.png rename to app/img/emoji/stew.png diff --git a/img/emoji/straight_ruler.png b/app/img/emoji/straight_ruler.png similarity index 100% rename from img/emoji/straight_ruler.png rename to app/img/emoji/straight_ruler.png diff --git a/img/emoji/strawberry.png b/app/img/emoji/strawberry.png similarity index 100% rename from img/emoji/strawberry.png rename to app/img/emoji/strawberry.png diff --git a/img/emoji/stuck_out_tongue.png b/app/img/emoji/stuck_out_tongue.png similarity index 100% rename from img/emoji/stuck_out_tongue.png rename to app/img/emoji/stuck_out_tongue.png diff --git a/img/emoji/stuck_out_tongue_closed_eyes.png b/app/img/emoji/stuck_out_tongue_closed_eyes.png similarity index 100% rename from img/emoji/stuck_out_tongue_closed_eyes.png rename to app/img/emoji/stuck_out_tongue_closed_eyes.png diff --git a/img/emoji/stuck_out_tongue_winking_eye.png b/app/img/emoji/stuck_out_tongue_winking_eye.png similarity index 100% rename from img/emoji/stuck_out_tongue_winking_eye.png rename to app/img/emoji/stuck_out_tongue_winking_eye.png diff --git a/img/emoji/sun_with_face.png b/app/img/emoji/sun_with_face.png similarity index 100% rename from img/emoji/sun_with_face.png rename to app/img/emoji/sun_with_face.png diff --git a/img/emoji/sunflower.png b/app/img/emoji/sunflower.png similarity index 100% rename from img/emoji/sunflower.png rename to app/img/emoji/sunflower.png diff --git a/img/emoji/sunglasses.png b/app/img/emoji/sunglasses.png similarity index 100% rename from img/emoji/sunglasses.png rename to app/img/emoji/sunglasses.png diff --git a/img/emoji/sunny.png b/app/img/emoji/sunny.png similarity index 100% rename from img/emoji/sunny.png rename to app/img/emoji/sunny.png diff --git a/img/emoji/sunrise.png b/app/img/emoji/sunrise.png similarity index 100% rename from img/emoji/sunrise.png rename to app/img/emoji/sunrise.png diff --git a/img/emoji/sunrise_over_mountains.png b/app/img/emoji/sunrise_over_mountains.png similarity index 100% rename from img/emoji/sunrise_over_mountains.png rename to app/img/emoji/sunrise_over_mountains.png diff --git a/img/emoji/surfer.png b/app/img/emoji/surfer.png similarity index 100% rename from img/emoji/surfer.png rename to app/img/emoji/surfer.png diff --git a/img/emoji/sushi.png b/app/img/emoji/sushi.png similarity index 100% rename from img/emoji/sushi.png rename to app/img/emoji/sushi.png diff --git a/img/emoji/suspect.png b/app/img/emoji/suspect.png similarity index 100% rename from img/emoji/suspect.png rename to app/img/emoji/suspect.png diff --git a/img/emoji/suspension_railway.png b/app/img/emoji/suspension_railway.png similarity index 100% rename from img/emoji/suspension_railway.png rename to app/img/emoji/suspension_railway.png diff --git a/img/emoji/sweat.png b/app/img/emoji/sweat.png similarity index 100% rename from img/emoji/sweat.png rename to app/img/emoji/sweat.png diff --git a/img/emoji/sweat_drops.png b/app/img/emoji/sweat_drops.png similarity index 100% rename from img/emoji/sweat_drops.png rename to app/img/emoji/sweat_drops.png diff --git a/img/emoji/sweat_smile.png b/app/img/emoji/sweat_smile.png similarity index 100% rename from img/emoji/sweat_smile.png rename to app/img/emoji/sweat_smile.png diff --git a/img/emoji/sweet_potato.png b/app/img/emoji/sweet_potato.png similarity index 100% rename from img/emoji/sweet_potato.png rename to app/img/emoji/sweet_potato.png diff --git a/img/emoji/swimmer.png b/app/img/emoji/swimmer.png similarity index 100% rename from img/emoji/swimmer.png rename to app/img/emoji/swimmer.png diff --git a/img/emoji/symbols.png b/app/img/emoji/symbols.png similarity index 100% rename from img/emoji/symbols.png rename to app/img/emoji/symbols.png diff --git a/img/emoji/syringe.png b/app/img/emoji/syringe.png similarity index 100% rename from img/emoji/syringe.png rename to app/img/emoji/syringe.png diff --git a/img/emoji/tada.png b/app/img/emoji/tada.png similarity index 100% rename from img/emoji/tada.png rename to app/img/emoji/tada.png diff --git a/img/emoji/tanabata_tree.png b/app/img/emoji/tanabata_tree.png similarity index 100% rename from img/emoji/tanabata_tree.png rename to app/img/emoji/tanabata_tree.png diff --git a/img/emoji/tangerine.png b/app/img/emoji/tangerine.png similarity index 100% rename from img/emoji/tangerine.png rename to app/img/emoji/tangerine.png diff --git a/img/emoji/taurus.png b/app/img/emoji/taurus.png similarity index 100% rename from img/emoji/taurus.png rename to app/img/emoji/taurus.png diff --git a/img/emoji/taxi.png b/app/img/emoji/taxi.png similarity index 100% rename from img/emoji/taxi.png rename to app/img/emoji/taxi.png diff --git a/img/emoji/tea.png b/app/img/emoji/tea.png similarity index 100% rename from img/emoji/tea.png rename to app/img/emoji/tea.png diff --git a/img/emoji/telephone.png b/app/img/emoji/telephone.png similarity index 100% rename from img/emoji/telephone.png rename to app/img/emoji/telephone.png diff --git a/img/emoji/telephone_receiver.png b/app/img/emoji/telephone_receiver.png similarity index 100% rename from img/emoji/telephone_receiver.png rename to app/img/emoji/telephone_receiver.png diff --git a/img/emoji/telescope.png b/app/img/emoji/telescope.png similarity index 100% rename from img/emoji/telescope.png rename to app/img/emoji/telescope.png diff --git a/img/emoji/tennis.png b/app/img/emoji/tennis.png similarity index 100% rename from img/emoji/tennis.png rename to app/img/emoji/tennis.png diff --git a/img/emoji/tent.png b/app/img/emoji/tent.png similarity index 100% rename from img/emoji/tent.png rename to app/img/emoji/tent.png diff --git a/img/emoji/thought_balloon.png b/app/img/emoji/thought_balloon.png similarity index 100% rename from img/emoji/thought_balloon.png rename to app/img/emoji/thought_balloon.png diff --git a/img/emoji/three.png b/app/img/emoji/three.png similarity index 100% rename from img/emoji/three.png rename to app/img/emoji/three.png diff --git a/img/emoji/thumbsdown.png b/app/img/emoji/thumbsdown.png similarity index 100% rename from img/emoji/thumbsdown.png rename to app/img/emoji/thumbsdown.png diff --git a/img/emoji/thumbsup.png b/app/img/emoji/thumbsup.png similarity index 100% rename from img/emoji/thumbsup.png rename to app/img/emoji/thumbsup.png diff --git a/img/emoji/ticket.png b/app/img/emoji/ticket.png similarity index 100% rename from img/emoji/ticket.png rename to app/img/emoji/ticket.png diff --git a/img/emoji/tiger.png b/app/img/emoji/tiger.png similarity index 100% rename from img/emoji/tiger.png rename to app/img/emoji/tiger.png diff --git a/img/emoji/tiger2.png b/app/img/emoji/tiger2.png similarity index 100% rename from img/emoji/tiger2.png rename to app/img/emoji/tiger2.png diff --git a/img/emoji/tired_face.png b/app/img/emoji/tired_face.png similarity index 100% rename from img/emoji/tired_face.png rename to app/img/emoji/tired_face.png diff --git a/img/emoji/tm.png b/app/img/emoji/tm.png similarity index 100% rename from img/emoji/tm.png rename to app/img/emoji/tm.png diff --git a/img/emoji/toilet.png b/app/img/emoji/toilet.png similarity index 100% rename from img/emoji/toilet.png rename to app/img/emoji/toilet.png diff --git a/img/emoji/tokyo_tower.png b/app/img/emoji/tokyo_tower.png similarity index 100% rename from img/emoji/tokyo_tower.png rename to app/img/emoji/tokyo_tower.png diff --git a/img/emoji/tomato.png b/app/img/emoji/tomato.png similarity index 100% rename from img/emoji/tomato.png rename to app/img/emoji/tomato.png diff --git a/img/emoji/tongue.png b/app/img/emoji/tongue.png similarity index 100% rename from img/emoji/tongue.png rename to app/img/emoji/tongue.png diff --git a/img/emoji/top.png b/app/img/emoji/top.png similarity index 100% rename from img/emoji/top.png rename to app/img/emoji/top.png diff --git a/img/emoji/tophat.png b/app/img/emoji/tophat.png similarity index 100% rename from img/emoji/tophat.png rename to app/img/emoji/tophat.png diff --git a/img/emoji/tractor.png b/app/img/emoji/tractor.png similarity index 100% rename from img/emoji/tractor.png rename to app/img/emoji/tractor.png diff --git a/img/emoji/traffic_light.png b/app/img/emoji/traffic_light.png similarity index 100% rename from img/emoji/traffic_light.png rename to app/img/emoji/traffic_light.png diff --git a/img/emoji/train.png b/app/img/emoji/train.png similarity index 100% rename from img/emoji/train.png rename to app/img/emoji/train.png diff --git a/img/emoji/train2.png b/app/img/emoji/train2.png similarity index 100% rename from img/emoji/train2.png rename to app/img/emoji/train2.png diff --git a/img/emoji/tram.png b/app/img/emoji/tram.png similarity index 100% rename from img/emoji/tram.png rename to app/img/emoji/tram.png diff --git a/img/emoji/triangular_flag_on_post.png b/app/img/emoji/triangular_flag_on_post.png similarity index 100% rename from img/emoji/triangular_flag_on_post.png rename to app/img/emoji/triangular_flag_on_post.png diff --git a/img/emoji/triangular_ruler.png b/app/img/emoji/triangular_ruler.png similarity index 100% rename from img/emoji/triangular_ruler.png rename to app/img/emoji/triangular_ruler.png diff --git a/img/emoji/trident.png b/app/img/emoji/trident.png similarity index 100% rename from img/emoji/trident.png rename to app/img/emoji/trident.png diff --git a/img/emoji/triumph.png b/app/img/emoji/triumph.png similarity index 100% rename from img/emoji/triumph.png rename to app/img/emoji/triumph.png diff --git a/img/emoji/trolleybus.png b/app/img/emoji/trolleybus.png similarity index 100% rename from img/emoji/trolleybus.png rename to app/img/emoji/trolleybus.png diff --git a/img/emoji/trollface.png b/app/img/emoji/trollface.png similarity index 100% rename from img/emoji/trollface.png rename to app/img/emoji/trollface.png diff --git a/img/emoji/trophy.png b/app/img/emoji/trophy.png similarity index 100% rename from img/emoji/trophy.png rename to app/img/emoji/trophy.png diff --git a/img/emoji/tropical_drink.png b/app/img/emoji/tropical_drink.png similarity index 100% rename from img/emoji/tropical_drink.png rename to app/img/emoji/tropical_drink.png diff --git a/img/emoji/tropical_fish.png b/app/img/emoji/tropical_fish.png similarity index 100% rename from img/emoji/tropical_fish.png rename to app/img/emoji/tropical_fish.png diff --git a/img/emoji/truck.png b/app/img/emoji/truck.png similarity index 100% rename from img/emoji/truck.png rename to app/img/emoji/truck.png diff --git a/img/emoji/trumpet.png b/app/img/emoji/trumpet.png similarity index 100% rename from img/emoji/trumpet.png rename to app/img/emoji/trumpet.png diff --git a/img/emoji/tshirt.png b/app/img/emoji/tshirt.png similarity index 100% rename from img/emoji/tshirt.png rename to app/img/emoji/tshirt.png diff --git a/img/emoji/tulip.png b/app/img/emoji/tulip.png similarity index 100% rename from img/emoji/tulip.png rename to app/img/emoji/tulip.png diff --git a/img/emoji/turtle.png b/app/img/emoji/turtle.png similarity index 100% rename from img/emoji/turtle.png rename to app/img/emoji/turtle.png diff --git a/img/emoji/tv.png b/app/img/emoji/tv.png similarity index 100% rename from img/emoji/tv.png rename to app/img/emoji/tv.png diff --git a/img/emoji/twisted_rightwards_arrows.png b/app/img/emoji/twisted_rightwards_arrows.png similarity index 100% rename from img/emoji/twisted_rightwards_arrows.png rename to app/img/emoji/twisted_rightwards_arrows.png diff --git a/img/emoji/two.png b/app/img/emoji/two.png similarity index 100% rename from img/emoji/two.png rename to app/img/emoji/two.png diff --git a/img/emoji/two_hearts.png b/app/img/emoji/two_hearts.png similarity index 100% rename from img/emoji/two_hearts.png rename to app/img/emoji/two_hearts.png diff --git a/img/emoji/two_men_holding_hands.png b/app/img/emoji/two_men_holding_hands.png similarity index 100% rename from img/emoji/two_men_holding_hands.png rename to app/img/emoji/two_men_holding_hands.png diff --git a/img/emoji/two_women_holding_hands.png b/app/img/emoji/two_women_holding_hands.png similarity index 100% rename from img/emoji/two_women_holding_hands.png rename to app/img/emoji/two_women_holding_hands.png diff --git a/img/emoji/u5272.png b/app/img/emoji/u5272.png similarity index 100% rename from img/emoji/u5272.png rename to app/img/emoji/u5272.png diff --git a/img/emoji/u5408.png b/app/img/emoji/u5408.png similarity index 100% rename from img/emoji/u5408.png rename to app/img/emoji/u5408.png diff --git a/img/emoji/u55b6.png b/app/img/emoji/u55b6.png similarity index 100% rename from img/emoji/u55b6.png rename to app/img/emoji/u55b6.png diff --git a/img/emoji/u6307.png b/app/img/emoji/u6307.png similarity index 100% rename from img/emoji/u6307.png rename to app/img/emoji/u6307.png diff --git a/img/emoji/u6708.png b/app/img/emoji/u6708.png similarity index 100% rename from img/emoji/u6708.png rename to app/img/emoji/u6708.png diff --git a/img/emoji/u6709.png b/app/img/emoji/u6709.png similarity index 100% rename from img/emoji/u6709.png rename to app/img/emoji/u6709.png diff --git a/img/emoji/u6e80.png b/app/img/emoji/u6e80.png similarity index 100% rename from img/emoji/u6e80.png rename to app/img/emoji/u6e80.png diff --git a/img/emoji/u7121.png b/app/img/emoji/u7121.png similarity index 100% rename from img/emoji/u7121.png rename to app/img/emoji/u7121.png diff --git a/img/emoji/u7533.png b/app/img/emoji/u7533.png similarity index 100% rename from img/emoji/u7533.png rename to app/img/emoji/u7533.png diff --git a/img/emoji/u7981.png b/app/img/emoji/u7981.png similarity index 100% rename from img/emoji/u7981.png rename to app/img/emoji/u7981.png diff --git a/img/emoji/u7a7a.png b/app/img/emoji/u7a7a.png similarity index 100% rename from img/emoji/u7a7a.png rename to app/img/emoji/u7a7a.png diff --git a/img/emoji/uk.png b/app/img/emoji/uk.png similarity index 100% rename from img/emoji/uk.png rename to app/img/emoji/uk.png diff --git a/img/emoji/umbrella.png b/app/img/emoji/umbrella.png similarity index 100% rename from img/emoji/umbrella.png rename to app/img/emoji/umbrella.png diff --git a/img/emoji/unamused.png b/app/img/emoji/unamused.png similarity index 100% rename from img/emoji/unamused.png rename to app/img/emoji/unamused.png diff --git a/img/emoji/underage.png b/app/img/emoji/underage.png similarity index 100% rename from img/emoji/underage.png rename to app/img/emoji/underage.png diff --git a/img/emoji/unlock.png b/app/img/emoji/unlock.png similarity index 100% rename from img/emoji/unlock.png rename to app/img/emoji/unlock.png diff --git a/img/emoji/up.png b/app/img/emoji/up.png similarity index 100% rename from img/emoji/up.png rename to app/img/emoji/up.png diff --git a/img/emoji/us.png b/app/img/emoji/us.png similarity index 100% rename from img/emoji/us.png rename to app/img/emoji/us.png diff --git a/img/emoji/v.png b/app/img/emoji/v.png similarity index 100% rename from img/emoji/v.png rename to app/img/emoji/v.png diff --git a/img/emoji/vertical_traffic_light.png b/app/img/emoji/vertical_traffic_light.png similarity index 100% rename from img/emoji/vertical_traffic_light.png rename to app/img/emoji/vertical_traffic_light.png diff --git a/img/emoji/vhs.png b/app/img/emoji/vhs.png similarity index 100% rename from img/emoji/vhs.png rename to app/img/emoji/vhs.png diff --git a/img/emoji/vibration_mode.png b/app/img/emoji/vibration_mode.png similarity index 100% rename from img/emoji/vibration_mode.png rename to app/img/emoji/vibration_mode.png diff --git a/img/emoji/video_camera.png b/app/img/emoji/video_camera.png similarity index 100% rename from img/emoji/video_camera.png rename to app/img/emoji/video_camera.png diff --git a/img/emoji/video_game.png b/app/img/emoji/video_game.png similarity index 100% rename from img/emoji/video_game.png rename to app/img/emoji/video_game.png diff --git a/img/emoji/violin.png b/app/img/emoji/violin.png similarity index 100% rename from img/emoji/violin.png rename to app/img/emoji/violin.png diff --git a/img/emoji/virgo.png b/app/img/emoji/virgo.png similarity index 100% rename from img/emoji/virgo.png rename to app/img/emoji/virgo.png diff --git a/img/emoji/volcano.png b/app/img/emoji/volcano.png similarity index 100% rename from img/emoji/volcano.png rename to app/img/emoji/volcano.png diff --git a/img/emoji/vs.png b/app/img/emoji/vs.png similarity index 100% rename from img/emoji/vs.png rename to app/img/emoji/vs.png diff --git a/img/emoji/walking.png b/app/img/emoji/walking.png similarity index 100% rename from img/emoji/walking.png rename to app/img/emoji/walking.png diff --git a/img/emoji/waning_crescent_moon.png b/app/img/emoji/waning_crescent_moon.png similarity index 100% rename from img/emoji/waning_crescent_moon.png rename to app/img/emoji/waning_crescent_moon.png diff --git a/img/emoji/waning_gibbous_moon.png b/app/img/emoji/waning_gibbous_moon.png similarity index 100% rename from img/emoji/waning_gibbous_moon.png rename to app/img/emoji/waning_gibbous_moon.png diff --git a/img/emoji/warning.png b/app/img/emoji/warning.png similarity index 100% rename from img/emoji/warning.png rename to app/img/emoji/warning.png diff --git a/img/emoji/watch.png b/app/img/emoji/watch.png similarity index 100% rename from img/emoji/watch.png rename to app/img/emoji/watch.png diff --git a/img/emoji/water_buffalo.png b/app/img/emoji/water_buffalo.png similarity index 100% rename from img/emoji/water_buffalo.png rename to app/img/emoji/water_buffalo.png diff --git a/img/emoji/watermelon.png b/app/img/emoji/watermelon.png similarity index 100% rename from img/emoji/watermelon.png rename to app/img/emoji/watermelon.png diff --git a/img/emoji/wave.png b/app/img/emoji/wave.png similarity index 100% rename from img/emoji/wave.png rename to app/img/emoji/wave.png diff --git a/img/emoji/wavy_dash.png b/app/img/emoji/wavy_dash.png similarity index 100% rename from img/emoji/wavy_dash.png rename to app/img/emoji/wavy_dash.png diff --git a/img/emoji/waxing_crescent_moon.png b/app/img/emoji/waxing_crescent_moon.png similarity index 100% rename from img/emoji/waxing_crescent_moon.png rename to app/img/emoji/waxing_crescent_moon.png diff --git a/img/emoji/waxing_gibbous_moon.png b/app/img/emoji/waxing_gibbous_moon.png similarity index 100% rename from img/emoji/waxing_gibbous_moon.png rename to app/img/emoji/waxing_gibbous_moon.png diff --git a/img/emoji/wc.png b/app/img/emoji/wc.png similarity index 100% rename from img/emoji/wc.png rename to app/img/emoji/wc.png diff --git a/img/emoji/weary.png b/app/img/emoji/weary.png similarity index 100% rename from img/emoji/weary.png rename to app/img/emoji/weary.png diff --git a/img/emoji/wedding.png b/app/img/emoji/wedding.png similarity index 100% rename from img/emoji/wedding.png rename to app/img/emoji/wedding.png diff --git a/img/emoji/whale.png b/app/img/emoji/whale.png similarity index 100% rename from img/emoji/whale.png rename to app/img/emoji/whale.png diff --git a/img/emoji/whale2.png b/app/img/emoji/whale2.png similarity index 100% rename from img/emoji/whale2.png rename to app/img/emoji/whale2.png diff --git a/img/emoji/wheelchair.png b/app/img/emoji/wheelchair.png similarity index 100% rename from img/emoji/wheelchair.png rename to app/img/emoji/wheelchair.png diff --git a/img/emoji/white_check_mark.png b/app/img/emoji/white_check_mark.png similarity index 100% rename from img/emoji/white_check_mark.png rename to app/img/emoji/white_check_mark.png diff --git a/img/emoji/white_circle.png b/app/img/emoji/white_circle.png similarity index 100% rename from img/emoji/white_circle.png rename to app/img/emoji/white_circle.png diff --git a/img/emoji/white_flower.png b/app/img/emoji/white_flower.png similarity index 100% rename from img/emoji/white_flower.png rename to app/img/emoji/white_flower.png diff --git a/img/emoji/white_large_square.png b/app/img/emoji/white_large_square.png similarity index 100% rename from img/emoji/white_large_square.png rename to app/img/emoji/white_large_square.png diff --git a/img/emoji/white_medium_small_square.png b/app/img/emoji/white_medium_small_square.png similarity index 100% rename from img/emoji/white_medium_small_square.png rename to app/img/emoji/white_medium_small_square.png diff --git a/img/emoji/white_medium_square.png b/app/img/emoji/white_medium_square.png similarity index 100% rename from img/emoji/white_medium_square.png rename to app/img/emoji/white_medium_square.png diff --git a/img/emoji/white_small_square.png b/app/img/emoji/white_small_square.png similarity index 100% rename from img/emoji/white_small_square.png rename to app/img/emoji/white_small_square.png diff --git a/img/emoji/white_square_button.png b/app/img/emoji/white_square_button.png similarity index 100% rename from img/emoji/white_square_button.png rename to app/img/emoji/white_square_button.png diff --git a/img/emoji/wind_chime.png b/app/img/emoji/wind_chime.png similarity index 100% rename from img/emoji/wind_chime.png rename to app/img/emoji/wind_chime.png diff --git a/img/emoji/wine_glass.png b/app/img/emoji/wine_glass.png similarity index 100% rename from img/emoji/wine_glass.png rename to app/img/emoji/wine_glass.png diff --git a/img/emoji/wink.png b/app/img/emoji/wink.png similarity index 100% rename from img/emoji/wink.png rename to app/img/emoji/wink.png diff --git a/img/emoji/wolf.png b/app/img/emoji/wolf.png similarity index 100% rename from img/emoji/wolf.png rename to app/img/emoji/wolf.png diff --git a/img/emoji/woman.png b/app/img/emoji/woman.png similarity index 100% rename from img/emoji/woman.png rename to app/img/emoji/woman.png diff --git a/img/emoji/womans_clothes.png b/app/img/emoji/womans_clothes.png similarity index 100% rename from img/emoji/womans_clothes.png rename to app/img/emoji/womans_clothes.png diff --git a/img/emoji/womans_hat.png b/app/img/emoji/womans_hat.png similarity index 100% rename from img/emoji/womans_hat.png rename to app/img/emoji/womans_hat.png diff --git a/img/emoji/womens.png b/app/img/emoji/womens.png similarity index 100% rename from img/emoji/womens.png rename to app/img/emoji/womens.png diff --git a/img/emoji/worried.png b/app/img/emoji/worried.png similarity index 100% rename from img/emoji/worried.png rename to app/img/emoji/worried.png diff --git a/img/emoji/wrench.png b/app/img/emoji/wrench.png similarity index 100% rename from img/emoji/wrench.png rename to app/img/emoji/wrench.png diff --git a/img/emoji/x.png b/app/img/emoji/x.png similarity index 100% rename from img/emoji/x.png rename to app/img/emoji/x.png diff --git a/img/emoji/yellow_heart.png b/app/img/emoji/yellow_heart.png similarity index 100% rename from img/emoji/yellow_heart.png rename to app/img/emoji/yellow_heart.png diff --git a/img/emoji/yen.png b/app/img/emoji/yen.png similarity index 100% rename from img/emoji/yen.png rename to app/img/emoji/yen.png diff --git a/img/emoji/yum.png b/app/img/emoji/yum.png similarity index 100% rename from img/emoji/yum.png rename to app/img/emoji/yum.png diff --git a/img/emoji/zap.png b/app/img/emoji/zap.png similarity index 100% rename from img/emoji/zap.png rename to app/img/emoji/zap.png diff --git a/img/emoji/zero.png b/app/img/emoji/zero.png similarity index 100% rename from img/emoji/zero.png rename to app/img/emoji/zero.png diff --git a/img/emoji/zzz.png b/app/img/emoji/zzz.png similarity index 100% rename from img/emoji/zzz.png rename to app/img/emoji/zzz.png diff --git a/app/img/markdownify.gif b/app/img/markdownify.gif new file mode 100644 index 0000000..c3d11d7 Binary files /dev/null and b/app/img/markdownify.gif differ diff --git a/img/markdownify.icns b/app/img/markdownify.icns similarity index 100% rename from img/markdownify.icns rename to app/img/markdownify.icns diff --git a/img/favicon.ico b/app/img/markdownify.ico similarity index 100% rename from img/favicon.ico rename to app/img/markdownify.ico diff --git a/app/img/markdownify.png b/app/img/markdownify.png new file mode 100644 index 0000000..9695908 Binary files /dev/null and b/app/img/markdownify.png differ diff --git a/app/scripts/app.js b/app/scripts/app.js new file mode 100644 index 0000000..3fb3338 --- /dev/null +++ b/app/scripts/app.js @@ -0,0 +1,205 @@ +/*! + * The MIT License (MIT) + * Copyright (c) 2020 Amit Merchant + */ + +var showdown = require('showdown'); +var remote = require('electron').remote; +var ipc = require('electron').ipcRenderer; +var dialog = require('electron').remote.dialog; +var fs = remote.require('fs'); +const storage = require('electron-json-storage'); +var console = require('console'); +var parsePath = require("parse-filepath"); +var katex = require('parse-katex'); +var currentFile = ''; +var isFileLoadedInitially = false; + +const config = require('./config'); + +// `remote.require` since `Menu` is a main-process module. +var buildEditorContextMenu = remote.require('electron-editor-context-menu'); +var currentValue = 0, + currentValueTheme = 0; + +window.addEventListener('contextmenu', e => { + // Only show the context menu in text editors. + if (!e.target.closest('textarea, input, [contenteditable="true"],section')) return; + + var menu = buildEditorContextMenu(); + + // The 'contextmenu' event is emitted after 'selectionchange' has fired but possibly before the + // visible selection has changed. Try to wait to show the menu until after that, otherwise the + // visible selection will update after the menu dismisses and look weird. + setTimeout(() => { + menu.popup(remote.getCurrentWindow()); + }, 30); +}); + +var cm = CodeMirror.fromTextArea(document.getElementById("plainText"), { + lineNumbers: false, + mode: "markdown", + viewportMargin: 100000000000, + lineWrapping: true, + autoCloseBrackets: true +}); + +$(() => { + var plainText = document.getElementById('plainText'), + markdownArea = document.getElementById('markdown'); + + cm.on('change', (cMirror) => { + // get value right from instance + //yourTextarea.value = cMirror.getValue(); + var markdownText = cMirror.getValue(); + // Convert emoji's + markdownText = replaceWithEmojis(markdownText); + latexText = katex.renderLaTeX(markdownText); + + marked.setOptions({ + highlight: (code) => { + return require('highlightjs').highlightAuto(code).value; + } + }); + + //Md -> Preview + html = marked(latexText, { + gfm: true, + tables: true, + breaks: false, + pedantic: false, + sanitize: false, + smartLists: true, + smartypants: false + }); + + markdownArea.innerHTML = html; + + //Md -> HTML + converter = new showdown.Converter(); + html = converter.makeHtml(markdownText); + document.getElementById("htmlPreview").value = html; + + if (this.isFileLoadedInitially) { + this.setClean(); + this.isFileLoadedInitially = false; + } + + if (this.currentFile != '') { + this.updateWindowTitle(this.currentFile); + } else { + this.updateWindowTitle(); + } + + }); + + // Get the most recently saved file + storage.get('markdown-savefile', (error, data) => { + if (error) throw error; + + if ('filename' in data) { + fs.readFile(data.filename, 'utf-8', (err, data) => { + if (err) { + alert("An error ocurred while opening the file " + err.message) + } + cm.getDoc().setValue(data); + }); + this.isFileLoadedInitially = true; + this.currentFile = data.filename; + } + }); + + + /************************** + * Synchronized scrolling * + **************************/ + + var $prev = $('#previewPanel'), + $markdown = $('#markdown'), + $syncScroll = $('#syncScroll'), + canScroll; + + // Retaining state in boolean since this will be more CPU friendly instead of constantly selecting on each event. + var toggleSyncScroll = () => { + console.log('Toggle scroll synchronization.'); + canScroll = $syncScroll.is(':checked'); + + config.set('isSyncScroll', canScroll); + // If scrolling was just enabled, ensure we're back in sync by triggering window resize. + if (canScroll) $(window).trigger('resize'); + } + + $syncScroll.on('change', toggleSyncScroll); + + const isSyncScroll = config.get('isSyncScroll'); + if (isSyncScroll === true) { + $syncScroll.attr('checked', true); + } else { + $syncScroll.attr('checked', false); + } + + /** + * Scrollable height. + */ + var codeScrollable = () => { + var info = cm.getScrollInfo(), + fullHeight = info.height, + viewHeight = info.clientHeight; + + return fullHeight - viewHeight; + } + + var prevScrollable = () => { + var fullHeight = $markdown.height(), + viewHeight = $prev.height(); + return fullHeight - viewHeight; + } + + /** + * Temporarily swaps out a scroll handler. + */ + var muteScroll = (obj, listener) => { + obj.off('scroll', listener); + obj.on('scroll', tempHandler); + + var tempHandler = () => { + obj.off('scroll', tempHandler); + obj.on('scroll', listener); + } + } + + /** + * Scroll Event Listeners + */ + var codeScroll = () => { + var scrollable = codeScrollable(); + if (scrollable > 0 && canScroll) { + var percent = cm.getScrollInfo().top / scrollable; + + // Since we'll be triggering scroll events. + console.log('Code scroll: %' + (Math.round(100 * percent))); + muteScroll($prev, prevScroll); + $prev.scrollTop(percent * prevScrollable()); + } + } + cm.on('scroll', codeScroll); + $(window).on('resize', codeScroll); + + var prevScroll = () => { + var scrollable = prevScrollable(); + if (scrollable > 0 && canScroll) { + var percent = $(this).scrollTop() / scrollable; + + // Since we'll be triggering scroll events. + muteScroll(cm, codeScroll); + cm.scrollTo(null, codeScrollable() * percent); + } + } + $prev.on('scroll', prevScroll); + + const isDarkMode = config.get('darkMode'); + changeTheme(isDarkMode); + + const isHtml = config.get('isHtml'); + clkPref(isHtml); +}); diff --git a/js/emoji.js b/app/scripts/emoji.js similarity index 99% rename from js/emoji.js rename to app/scripts/emoji.js index d2c728f..d2d9e50 100644 --- a/js/emoji.js +++ b/app/scripts/emoji.js @@ -883,11 +883,11 @@ const EMOJI = [ 'zzz', ]; -const REGEX_EMOJI = /:(\w+):/g; +const REGEX_EMOJI = /\\`|`(?:\\`|[^`])*`|:(\w+):/g; this.replacer = function(match, name){ if (EMOJI.indexOf(name) > -1) { - return ''; + return ''; } else { return match; } diff --git a/js/format.js b/app/scripts/format.js similarity index 91% rename from js/format.js rename to app/scripts/format.js index e8de3e5..1362c62 100644 --- a/js/format.js +++ b/app/scripts/format.js @@ -5,7 +5,7 @@ var insertTexts = { horizontalRule: ["", "\n\n-----\n\n"] }; -function toggleFormat(type) { +var toggleFormat = (type) => { 'use strict'; let modifiers = []; if(type == "bold") { @@ -20,7 +20,7 @@ function toggleFormat(type) { }) } -function _toggleFormat(modifiers) { +var _toggleFormat = (modifiers) => { 'use strict'; if (modifiers.length === 0) { return; @@ -33,7 +33,7 @@ function _toggleFormat(modifiers) { bFound = false; for (let i = 0, len = allModifiers.length; i < len; i++) { let modi = allModifiers[i]; - if (cm.getSelection().startsWith(modi) && cm.getSelection().endsWith(modi) + if (cm.getSelection().startsWith(modi) && cm.getSelection().endsWith(modi) && endPoint.ch - startPoint.ch >= 2 * modi.length) { bFound = true; startPoint.ch += modi.length; @@ -104,7 +104,7 @@ function _toggleFormat(modifiers) { cm.focus(); } -function getState(cm, pos) { +var getState = (cm, pos) => { pos = pos || cm.getCursor("start"); var stat = cm.getTokenAt(pos); if(!stat.type) return {}; @@ -145,19 +145,23 @@ function getState(cm, pos) { return ret; } -function toggleBlockquote() { +function toggleLatex(editor) { + _toggleLine(cm, "latex"); +} + +var toggleBlockquote = () => { _toggleLine(cm, "quote"); } -function toggleUnorderedList(editor) { +var toggleUnorderedList = (editor) => { _toggleLine(cm, "unordered-list"); } -function toggleOrderedList(editor) { +var toggleOrderedList = (editor) => { _toggleLine(cm, "ordered-list"); } -function _toggleLine(cm, name) { +var _toggleLine = (cm, name) => { if(/editor-preview-active/.test(cm.getWrapperElement().lastChild.className)) return; @@ -169,18 +173,25 @@ function _toggleLine(cm, name) { "unordered-list": /^(\s*)(\*|\-|\+)\s+/, "ordered-list": /^(\s*)\d+\.\s+/ }; - var map = { + var prefix = { "quote": "> ", "unordered-list": "* ", - "ordered-list": "1. " + "ordered-list": "1. ", + "latex": "$" + }; + var postfix = { + "quote": "", + "unordered-list": "", + "ordered-list": "", + "latex": "$" }; for(var i = startPoint.line; i <= endPoint.line; i++) { - (function(i) { + ((i) => { var text = cm.getLine(i); if(stat[name]) { text = text.replace(repl[name], "$1"); } else { - text = map[name] + text; + text = prefix[name] + text + postfix[name]; } cm.replaceRange(text, { line: i, @@ -195,41 +206,41 @@ function _toggleLine(cm, name) { } // function for drawing a link -function drawLink() { +var drawLink = () => { var stat = getState(cm); var url = "http://"; _replaceSelection(cm, stat.link, insertTexts.link, url); } // function for drawing an image -function drawImage() { +var drawImage = () => { var stat = getState(cm); var url = "http://"; _replaceSelection(cm, stat.image, insertTexts.image, url); } // function for drawing a image -function drawTable() { +var drawTable = () => { var stat = getState(cm); _replaceSelection(cm, stat.table, insertTexts.table); } // function for drawing a horizontal rule. -function drawHorizontalRule() { +var drawHorizontalRule = () => { var stat = getState(cm); _replaceSelection(cm, stat.image, insertTexts.horizontalRule); } // function for adding heading -function toggleHeadingSmaller() { +var toggleHeadingSmaller = () => { _toggleHeading("smaller"); } -function _toggleHeading(direction, size) { +var _toggleHeading = (direction, size) => { var startPoint = cm.getCursor("start"); var endPoint = cm.getCursor("end"); for(var i = startPoint.line; i <= endPoint.line; i++) { - (function(i) { + ((i) => { var text = cm.getLine(i); var currHeadingLevel = text.search(/[^#]/); @@ -291,7 +302,7 @@ function _toggleHeading(direction, size) { cm.focus(); } -function _replaceSelection(cm, active, startEnd, url) { +var _replaceSelection = (cm, active, startEnd, url) => { var text; var start = startEnd[0]; var end = startEnd[1]; @@ -321,7 +332,7 @@ function _replaceSelection(cm, active, startEnd, url) { cm.focus(); } -function toggleSidePanel() { +var toggleSidePanel = () => { if(document.getElementById("previewPanel").style.display == "block"){ document.getElementById("previewPanel").style.display = "none"; document.getElementById("pref").style.display = "none"; diff --git a/js/functions.js b/app/scripts/functions.js similarity index 73% rename from js/functions.js rename to app/scripts/functions.js index 247c393..786bac6 100644 --- a/js/functions.js +++ b/app/scripts/functions.js @@ -1,26 +1,34 @@ -var clkPref = function (opt) { +var clkPref = (opt) => { currentValue = opt.value; - if ( currentValue=='preview' ) { + if ( currentValue=='preview' || opt===false ) { document.getElementById("htmlPreview").style.display = "none"; document.getElementById("markdown").style.display = "block"; - } else if ( currentValue=='html' ) { + document.getElementById('previewRadio').checked = true; + config.set('isHtml', false); + } else { document.getElementById("markdown").style.display = "none"; document.getElementById("htmlPreview").style.display = "block"; + document.getElementById('htmlRadio').checked = true; + config.set('isHtml', true); } } -var changeTheme = function (opt) { +var changeTheme = (opt) => { currentValueTheme = opt.value; - if ( currentValueTheme=='light' ) { + if ( currentValueTheme=='light' || opt===false) { cm.setOption("theme", "default"); document.getElementById("previewPanel").className = "col-md-6 full-height"; - } else if ( currentValueTheme=='dark' ) { + document.getElementById('lightThemeRadio').checked = true; + config.set('darkMode', false); + } else { cm.setOption("theme", "base16-dark"); document.getElementById("previewPanel").className = "col-md-6 full-height preview-dark-mode"; + document.getElementById('darkThemeRadio').checked = true; + config.set('darkMode', true); } } -var showToolBar = function () { +var showToolBar = () => { if(document.getElementById("toolbarArea").style.display == "block"){ document.getElementById("angleToolBar").className = ""; document.getElementById("angleToolBar").className = "fa fa-angle-double-right"; @@ -35,20 +43,20 @@ var showToolBar = function () { } // Generations and clean state of CodeMirror -var getGeneration = function () { +var getGeneration = () => { return this.cm.doc.changeGeneration(); } -var setClean = function () { +var setClean = () => { this.latestGeneration = this.getGeneration(); } -var isClean = function () { +var isClean = () => { return this.cm.doc.isClean(this.latestGeneration); } // Update window title on various events -var updateWindowTitle = function (path) { +var updateWindowTitle = (path) => { var appName = "Markdownify", isClean = this.isClean(), saveSymbol = "*", diff --git a/js/ipc_renderer.js b/app/scripts/ipc_renderer.js similarity index 63% rename from js/ipc_renderer.js rename to app/scripts/ipc_renderer.js index c210cc1..ebf2d86 100644 --- a/js/ipc_renderer.js +++ b/app/scripts/ipc_renderer.js @@ -1,21 +1,21 @@ // Handling file saving through IPCRenderer -function saveAs() { - storage.get('markdown-savefile', function(error, data) { +var saveAs = () => { + storage.get('markdown-savefile', (error, data) => { options = {}; if ('filename' in data) { options.defaultPath = data.filename; } - dialog.showSaveDialog(options, function (fileName) { + dialog.showSaveDialog(options, (fileName) => { if (fileName === undefined){ console.log("You didn't save the file"); return; } - storage.set('markdown-savefile', {'filename' : fileName}, function(error) { if (error) alert(error); }); + storage.set('markdown-savefile', {'filename' : fileName}, (error) => { if (error) alert(error); }); var mdValue = cm.getValue(); // fileName is a string that contains the path and filename created in the save file dialog. - fs.writeFile(fileName, mdValue, function (err) { + fs.writeFile(fileName, mdValue, (err) => { if(err){ alert("An error ocurred creating the file "+ err.message) } @@ -27,15 +27,15 @@ function saveAs() { }); } -ipc.on('file-new', function() { - storage.set('markdown-savefile', {}, function(error) { if (error) alert(error); }); +ipc.on('file-new', () => { + storage.set('markdown-savefile', {}, (error) => { if (error) alert(error); }); currentFile = ''; cm.getDoc().setValue(""); }); // Handling file saving through IPCRenderer -ipc.on('file-save', function() { - storage.get('markdown-savefile', function(error, data) { +ipc.on('file-save', () => { + storage.get('markdown-savefile', (error, data) => { if (error) { saveAs(); return; @@ -47,11 +47,11 @@ ipc.on('file-save', function() { return; } - storage.set('markdown-savefile', {'filename' : fileName}, function(error) { if (error) alert(error); }); + storage.set('markdown-savefile', {'filename' : fileName}, (error) => { if (error) alert(error); }); var mdValue = cm.getValue(); // fileName is a string that contains the path and filename created in the save file dialog. - fs.writeFile(fileName, mdValue, function (err) { + fs.writeFile(fileName, mdValue, (err) => { if(err){ alert("An error ocurred creating the file "+ err.message) } @@ -68,8 +68,8 @@ ipc.on('file-save', function() { ipc.on('file-save-as', saveAs); // Handling file opening through IPCRenderer -ipc.on('file-open', function() { - storage.get('markdown-savefile', function(error, data) { +ipc.on('file-open', () => { + storage.get('markdown-savefile', (error, data) => { if (error) alert(error); var options = {'properties' : ['openFile'], 'filters' : [{name: 'Markdown', 'extensions':['md']}]}; @@ -77,17 +77,17 @@ ipc.on('file-open', function() { options.defaultPath = data.filename; } - dialog.showOpenDialog(options, function (fileName) { + dialog.showOpenDialog(options, (fileName) => { if (fileName === undefined){ console.log("You didn't open the file"); return; } - storage.set('markdown-savefile', {'filename' : fileName[0]}, function(error) { if (error) alert(error); }); + storage.set('markdown-savefile', {'filename' : fileName[0]}, (error) => { if (error) alert(error); }); var mdValue = cm.getValue(); // fileName is a string that contains the path and filename created in the save file dialog. - fs.readFile(fileName[0], 'utf-8', function (err, data) { + fs.readFile(fileName[0], 'utf-8', (err, data) => { if(err){ alert("An error ocurred while opening the file "+ err.message) } @@ -99,38 +99,65 @@ ipc.on('file-open', function() { }); }); -ipc.on('ctrl+b', function() { +ipc.on('ctrl+b', () => { toggleFormat('bold'); }); -ipc.on('ctrl+i', function() { +ipc.on('ctrl+i', () => { toggleFormat('italic'); }); -ipc.on('ctrl+/', function() { +ipc.on('ctrl+/', () => { toggleFormat('strikethrough'); }); -ipc.on('ctrl+l', function() { +ipc.on('ctrl+l', () => { drawLink(); }); -ipc.on('ctrl+h', function() { +ipc.on('ctrl+h', () => { toggleHeadingSmaller(); }); -ipc.on('ctrl+alt+i', function() { +ipc.on('ctrl+alt+i', () => { drawImage(); }); -ipc.on('ctrl+shift+t', function() { +ipc.on('ctrl+shift+t', () => { drawTable(); }); -ipc.on('ctrl+f', function() { +ipc.on('ctrl+f', () => { cm.execCommand('find'); }); -ipc.on('ctrl+shift+f', function() { +ipc.on('ctrl+shift+f', () => { cm.execCommand('replace'); }); + +ipc.on('file-pdf', () => { + + // Only save PDF files + options = { + filters: [ + {name: 'PDF', extensions: ['pdf']} + ] + }; + + dialog.showSaveDialog(options, (fileName) => { + ipc.send('print-to-pdf', fileName); + }); + +}); + +ipc.on("setTheme" , (event , theme) => { + const styleElem = document.createElement("link") + + styleElem.rel = "stylesheet" + + styleElem.type = "text/css" + + styleElem.href = `./app/styles/themes/${theme}.css` + + document.body.appendChild(styleElem) +}) diff --git a/js/libs/bootstrap.min.js b/app/scripts/libs/bootstrap.min.js similarity index 100% rename from js/libs/bootstrap.min.js rename to app/scripts/libs/bootstrap.min.js diff --git a/js/libs/closebrackets.js b/app/scripts/libs/closebrackets.js similarity index 100% rename from js/libs/closebrackets.js rename to app/scripts/libs/closebrackets.js diff --git a/js/libs/codemirror.js b/app/scripts/libs/codemirror.js similarity index 100% rename from js/libs/codemirror.js rename to app/scripts/libs/codemirror.js diff --git a/js/libs/dialog.js b/app/scripts/libs/dialog.js similarity index 100% rename from js/libs/dialog.js rename to app/scripts/libs/dialog.js diff --git a/js/libs/jquery.min.js b/app/scripts/libs/jquery.min.js similarity index 100% rename from js/libs/jquery.min.js rename to app/scripts/libs/jquery.min.js diff --git a/js/libs/marked.min.js b/app/scripts/libs/marked.min.js similarity index 100% rename from js/libs/marked.min.js rename to app/scripts/libs/marked.min.js diff --git a/js/libs/search.js b/app/scripts/libs/search.js similarity index 100% rename from js/libs/search.js rename to app/scripts/libs/search.js diff --git a/js/libs/searchcursor.js b/app/scripts/libs/searchcursor.js similarity index 100% rename from js/libs/searchcursor.js rename to app/scripts/libs/searchcursor.js diff --git a/js/markdown/markdown.js b/app/scripts/markdown/markdown.js similarity index 100% rename from js/markdown/markdown.js rename to app/scripts/markdown/markdown.js diff --git a/css/base16-dark.css b/app/styles/base16-dark.css similarity index 100% rename from css/base16-dark.css rename to app/styles/base16-dark.css diff --git a/css/bootstrap.min.css b/app/styles/bootstrap.min.css similarity index 100% rename from css/bootstrap.min.css rename to app/styles/bootstrap.min.css diff --git a/css/codemirror.css b/app/styles/codemirror.css similarity index 100% rename from css/codemirror.css rename to app/styles/codemirror.css diff --git a/css/default.css b/app/styles/default.css similarity index 100% rename from css/default.css rename to app/styles/default.css diff --git a/css/dialog.css b/app/styles/dialog.css similarity index 100% rename from css/dialog.css rename to app/styles/dialog.css diff --git a/app/styles/dracula.css b/app/styles/dracula.css new file mode 100644 index 0000000..4ae18cc --- /dev/null +++ b/app/styles/dracula.css @@ -0,0 +1,37 @@ +/* + Name: dracula + Author: Michael Kaminsky (http://github.com/mkaminsky11) + Original dracula color scheme by Zeno Rocha (https://github.com/zenorocha/dracula-theme) +*/ + + +.cm-s-dracula.CodeMirror, .cm-s-dracula .CodeMirror-gutters { + background-color: #282a36 !important; + color: #f8f8f2 !important; + border: none; +} +.cm-s-dracula .CodeMirror-gutters { color: #282a36; } +.cm-s-dracula .CodeMirror-cursor { border-left: solid thin #f8f8f0; } +.cm-s-dracula .CodeMirror-linenumber { color: #6D8A88; } +.cm-s-dracula .CodeMirror-selected { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula .CodeMirror-line::selection, .cm-s-dracula .CodeMirror-line > span::selection, .cm-s-dracula .CodeMirror-line > span > span::selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula .CodeMirror-line::-moz-selection, .cm-s-dracula .CodeMirror-line > span::-moz-selection, .cm-s-dracula .CodeMirror-line > span > span::-moz-selection { background: rgba(255, 255, 255, 0.10); } +.cm-s-dracula span.cm-comment { color: #6272a4; } +.cm-s-dracula span.cm-string, .cm-s-dracula span.cm-string-2 { color: #f1fa8c; } +.cm-s-dracula span.cm-number { color: #bd93f9; } +.cm-s-dracula span.cm-variable { color: #50fa7b; } +.cm-s-dracula span.cm-variable-2 { color: white; } +.cm-s-dracula span.cm-def { color: #50fa7b; } +.cm-s-dracula span.cm-operator { color: #ff79c6; } +.cm-s-dracula span.cm-keyword { color: #ff79c6; } +.cm-s-dracula span.cm-atom { color: #bd93f9; } +.cm-s-dracula span.cm-meta { color: #f8f8f2; } +.cm-s-dracula span.cm-tag { color: #ff79c6; } +.cm-s-dracula span.cm-attribute { color: #50fa7b; } +.cm-s-dracula span.cm-qualifier { color: #50fa7b; } +.cm-s-dracula span.cm-property { color: #66d9ef; } +.cm-s-dracula span.cm-builtin { color: #50fa7b; } +.cm-s-dracula span.cm-variable-3, .cm-s-dracula span.cm-type { color: #ffb86c; } + +.cm-s-dracula .CodeMirror-activeline-background { background: rgba(255,255,255,0.1); } +.cm-s-dracula .CodeMirror-matchingbracket { text-decoration: underline; color: white !important; } diff --git a/css/font-awesome.min.css b/app/styles/font-awesome.min.css similarity index 100% rename from css/font-awesome.min.css rename to app/styles/font-awesome.min.css diff --git a/css/fonts/FontAwesome.otf b/app/styles/fonts/FontAwesome.otf similarity index 100% rename from css/fonts/FontAwesome.otf rename to app/styles/fonts/FontAwesome.otf diff --git a/app/styles/fonts/KaTeX_AMS-Regular.eot b/app/styles/fonts/KaTeX_AMS-Regular.eot new file mode 100644 index 0000000..784276a Binary files /dev/null and b/app/styles/fonts/KaTeX_AMS-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_AMS-Regular.ttf b/app/styles/fonts/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000..6f1e0be Binary files /dev/null and b/app/styles/fonts/KaTeX_AMS-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_AMS-Regular.woff b/app/styles/fonts/KaTeX_AMS-Regular.woff new file mode 100644 index 0000000..4dded47 Binary files /dev/null and b/app/styles/fonts/KaTeX_AMS-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_AMS-Regular.woff2 b/app/styles/fonts/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000..ea81079 Binary files /dev/null and b/app/styles/fonts/KaTeX_AMS-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Bold.eot b/app/styles/fonts/KaTeX_Caligraphic-Bold.eot new file mode 100644 index 0000000..1a0db0c Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Bold.eot differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Bold.ttf b/app/styles/fonts/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000..b94907d Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Bold.ttf differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Bold.woff b/app/styles/fonts/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000..799fa81 Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Bold.woff differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Bold.woff2 b/app/styles/fonts/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000..73bb542 Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Bold.woff2 differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Regular.eot b/app/styles/fonts/KaTeX_Caligraphic-Regular.eot new file mode 100644 index 0000000..6cc83d0 Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Regular.ttf b/app/styles/fonts/KaTeX_Caligraphic-Regular.ttf new file mode 100644 index 0000000..cf51e20 Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Regular.woff b/app/styles/fonts/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000..f5e5c62 Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Caligraphic-Regular.woff2 b/app/styles/fonts/KaTeX_Caligraphic-Regular.woff2 new file mode 100644 index 0000000..dd76d34 Binary files /dev/null and b/app/styles/fonts/KaTeX_Caligraphic-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Bold.eot b/app/styles/fonts/KaTeX_Fraktur-Bold.eot new file mode 100644 index 0000000..1960b10 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Bold.eot differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Bold.ttf b/app/styles/fonts/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000..7b0790f Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Bold.ttf differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Bold.woff b/app/styles/fonts/KaTeX_Fraktur-Bold.woff new file mode 100644 index 0000000..dc32571 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Bold.woff differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Bold.woff2 b/app/styles/fonts/KaTeX_Fraktur-Bold.woff2 new file mode 100644 index 0000000..fdc4292 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Bold.woff2 differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Regular.eot b/app/styles/fonts/KaTeX_Fraktur-Regular.eot new file mode 100644 index 0000000..e4e7379 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Regular.ttf b/app/styles/fonts/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000..063bc02 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Regular.woff b/app/styles/fonts/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000..c4b18d8 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Fraktur-Regular.woff2 b/app/styles/fonts/KaTeX_Fraktur-Regular.woff2 new file mode 100644 index 0000000..4318d93 Binary files /dev/null and b/app/styles/fonts/KaTeX_Fraktur-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Main-Bold.eot b/app/styles/fonts/KaTeX_Main-Bold.eot new file mode 100644 index 0000000..80fbd02 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Bold.eot differ diff --git a/app/styles/fonts/KaTeX_Main-Bold.ttf b/app/styles/fonts/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000..8e10722 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Bold.ttf differ diff --git a/app/styles/fonts/KaTeX_Main-Bold.woff b/app/styles/fonts/KaTeX_Main-Bold.woff new file mode 100644 index 0000000..43b361a Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Bold.woff differ diff --git a/app/styles/fonts/KaTeX_Main-Bold.woff2 b/app/styles/fonts/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000..af57a96 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Bold.woff2 differ diff --git a/app/styles/fonts/KaTeX_Main-Italic.eot b/app/styles/fonts/KaTeX_Main-Italic.eot new file mode 100644 index 0000000..fc77016 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Italic.eot differ diff --git a/app/styles/fonts/KaTeX_Main-Italic.ttf b/app/styles/fonts/KaTeX_Main-Italic.ttf new file mode 100644 index 0000000..d124495 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Italic.ttf differ diff --git a/app/styles/fonts/KaTeX_Main-Italic.woff b/app/styles/fonts/KaTeX_Main-Italic.woff new file mode 100644 index 0000000..e623236 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Italic.woff differ diff --git a/app/styles/fonts/KaTeX_Main-Italic.woff2 b/app/styles/fonts/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000..944e974 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Italic.woff2 differ diff --git a/app/styles/fonts/KaTeX_Main-Regular.eot b/app/styles/fonts/KaTeX_Main-Regular.eot new file mode 100644 index 0000000..dc60c09 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Main-Regular.ttf b/app/styles/fonts/KaTeX_Main-Regular.ttf new file mode 100644 index 0000000..da5797f Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Main-Regular.woff b/app/styles/fonts/KaTeX_Main-Regular.woff new file mode 100644 index 0000000..37db672 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Main-Regular.woff2 b/app/styles/fonts/KaTeX_Main-Regular.woff2 new file mode 100644 index 0000000..4882042 Binary files /dev/null and b/app/styles/fonts/KaTeX_Main-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Math-BoldItalic.eot b/app/styles/fonts/KaTeX_Math-BoldItalic.eot new file mode 100644 index 0000000..52c8b8c Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-BoldItalic.eot differ diff --git a/app/styles/fonts/KaTeX_Math-BoldItalic.ttf b/app/styles/fonts/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000..a8b527c Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-BoldItalic.ttf differ diff --git a/app/styles/fonts/KaTeX_Math-BoldItalic.woff b/app/styles/fonts/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000..8940e0b Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-BoldItalic.woff differ diff --git a/app/styles/fonts/KaTeX_Math-BoldItalic.woff2 b/app/styles/fonts/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000..15cf56d Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-BoldItalic.woff2 differ diff --git a/app/styles/fonts/KaTeX_Math-Italic.eot b/app/styles/fonts/KaTeX_Math-Italic.eot new file mode 100644 index 0000000..64c8992 Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Italic.eot differ diff --git a/app/styles/fonts/KaTeX_Math-Italic.ttf b/app/styles/fonts/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000..06f39d3 Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Italic.ttf differ diff --git a/app/styles/fonts/KaTeX_Math-Italic.woff b/app/styles/fonts/KaTeX_Math-Italic.woff new file mode 100644 index 0000000..cf3b4b7 Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Italic.woff differ diff --git a/app/styles/fonts/KaTeX_Math-Italic.woff2 b/app/styles/fonts/KaTeX_Math-Italic.woff2 new file mode 100644 index 0000000..5f8c4bf Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Italic.woff2 differ diff --git a/app/styles/fonts/KaTeX_Math-Regular.eot b/app/styles/fonts/KaTeX_Math-Regular.eot new file mode 100644 index 0000000..5521e6a Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Math-Regular.ttf b/app/styles/fonts/KaTeX_Math-Regular.ttf new file mode 100644 index 0000000..7312708 Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Math-Regular.woff b/app/styles/fonts/KaTeX_Math-Regular.woff new file mode 100644 index 0000000..0e2ebdf Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Math-Regular.woff2 b/app/styles/fonts/KaTeX_Math-Regular.woff2 new file mode 100644 index 0000000..ebe3d02 Binary files /dev/null and b/app/styles/fonts/KaTeX_Math-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Bold.eot b/app/styles/fonts/KaTeX_SansSerif-Bold.eot new file mode 100644 index 0000000..1660e76 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Bold.eot differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Bold.ttf b/app/styles/fonts/KaTeX_SansSerif-Bold.ttf new file mode 100644 index 0000000..dbeb7b9 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Bold.ttf differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Bold.woff b/app/styles/fonts/KaTeX_SansSerif-Bold.woff new file mode 100644 index 0000000..8f144a8 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Bold.woff differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Bold.woff2 b/app/styles/fonts/KaTeX_SansSerif-Bold.woff2 new file mode 100644 index 0000000..329e855 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Bold.woff2 differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Italic.eot b/app/styles/fonts/KaTeX_SansSerif-Italic.eot new file mode 100644 index 0000000..289ae3f Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Italic.eot differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Italic.ttf b/app/styles/fonts/KaTeX_SansSerif-Italic.ttf new file mode 100644 index 0000000..b3a2f38 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Italic.ttf differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Italic.woff b/app/styles/fonts/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000..bddf7ea Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Italic.woff differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Italic.woff2 b/app/styles/fonts/KaTeX_SansSerif-Italic.woff2 new file mode 100644 index 0000000..5fa767b Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Italic.woff2 differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Regular.eot b/app/styles/fonts/KaTeX_SansSerif-Regular.eot new file mode 100644 index 0000000..1b38b98 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Regular.ttf b/app/styles/fonts/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000..e4712f8 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Regular.woff b/app/styles/fonts/KaTeX_SansSerif-Regular.woff new file mode 100644 index 0000000..33be368 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_SansSerif-Regular.woff2 b/app/styles/fonts/KaTeX_SansSerif-Regular.woff2 new file mode 100644 index 0000000..4fcb2e2 Binary files /dev/null and b/app/styles/fonts/KaTeX_SansSerif-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Script-Regular.eot b/app/styles/fonts/KaTeX_Script-Regular.eot new file mode 100644 index 0000000..7870d7f Binary files /dev/null and b/app/styles/fonts/KaTeX_Script-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Script-Regular.ttf b/app/styles/fonts/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000..da4d113 Binary files /dev/null and b/app/styles/fonts/KaTeX_Script-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Script-Regular.woff b/app/styles/fonts/KaTeX_Script-Regular.woff new file mode 100644 index 0000000..d6ae79f Binary files /dev/null and b/app/styles/fonts/KaTeX_Script-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Script-Regular.woff2 b/app/styles/fonts/KaTeX_Script-Regular.woff2 new file mode 100644 index 0000000..1b43deb Binary files /dev/null and b/app/styles/fonts/KaTeX_Script-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Size1-Regular.eot b/app/styles/fonts/KaTeX_Size1-Regular.eot new file mode 100644 index 0000000..29950f9 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size1-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Size1-Regular.ttf b/app/styles/fonts/KaTeX_Size1-Regular.ttf new file mode 100644 index 0000000..194466a Binary files /dev/null and b/app/styles/fonts/KaTeX_Size1-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Size1-Regular.woff b/app/styles/fonts/KaTeX_Size1-Regular.woff new file mode 100644 index 0000000..237f271 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size1-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Size1-Regular.woff2 b/app/styles/fonts/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000..39b6f8f Binary files /dev/null and b/app/styles/fonts/KaTeX_Size1-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Size2-Regular.eot b/app/styles/fonts/KaTeX_Size2-Regular.eot new file mode 100644 index 0000000..b8b0536 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size2-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Size2-Regular.ttf b/app/styles/fonts/KaTeX_Size2-Regular.ttf new file mode 100644 index 0000000..b41b66a Binary files /dev/null and b/app/styles/fonts/KaTeX_Size2-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Size2-Regular.woff b/app/styles/fonts/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000..4a30558 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size2-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Size2-Regular.woff2 b/app/styles/fonts/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000..3facec1 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size2-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Size3-Regular.eot b/app/styles/fonts/KaTeX_Size3-Regular.eot new file mode 100644 index 0000000..576b864 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size3-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Size3-Regular.ttf b/app/styles/fonts/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000..790ddbb Binary files /dev/null and b/app/styles/fonts/KaTeX_Size3-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Size3-Regular.woff b/app/styles/fonts/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000..3a6d062 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size3-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Size3-Regular.woff2 b/app/styles/fonts/KaTeX_Size3-Regular.woff2 new file mode 100644 index 0000000..2cffafe Binary files /dev/null and b/app/styles/fonts/KaTeX_Size3-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Size4-Regular.eot b/app/styles/fonts/KaTeX_Size4-Regular.eot new file mode 100644 index 0000000..c2b045f Binary files /dev/null and b/app/styles/fonts/KaTeX_Size4-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Size4-Regular.ttf b/app/styles/fonts/KaTeX_Size4-Regular.ttf new file mode 100644 index 0000000..ce660aa Binary files /dev/null and b/app/styles/fonts/KaTeX_Size4-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Size4-Regular.woff b/app/styles/fonts/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000..7826c6c Binary files /dev/null and b/app/styles/fonts/KaTeX_Size4-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Size4-Regular.woff2 b/app/styles/fonts/KaTeX_Size4-Regular.woff2 new file mode 100644 index 0000000..c921898 Binary files /dev/null and b/app/styles/fonts/KaTeX_Size4-Regular.woff2 differ diff --git a/app/styles/fonts/KaTeX_Typewriter-Regular.eot b/app/styles/fonts/KaTeX_Typewriter-Regular.eot new file mode 100644 index 0000000..4c178f4 Binary files /dev/null and b/app/styles/fonts/KaTeX_Typewriter-Regular.eot differ diff --git a/app/styles/fonts/KaTeX_Typewriter-Regular.ttf b/app/styles/fonts/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000..b0427ad Binary files /dev/null and b/app/styles/fonts/KaTeX_Typewriter-Regular.ttf differ diff --git a/app/styles/fonts/KaTeX_Typewriter-Regular.woff b/app/styles/fonts/KaTeX_Typewriter-Regular.woff new file mode 100644 index 0000000..78e9904 Binary files /dev/null and b/app/styles/fonts/KaTeX_Typewriter-Regular.woff differ diff --git a/app/styles/fonts/KaTeX_Typewriter-Regular.woff2 b/app/styles/fonts/KaTeX_Typewriter-Regular.woff2 new file mode 100644 index 0000000..618de99 Binary files /dev/null and b/app/styles/fonts/KaTeX_Typewriter-Regular.woff2 differ diff --git a/css/fonts/fontawesome-webfont.eot b/app/styles/fonts/fontawesome-webfont.eot similarity index 100% rename from css/fonts/fontawesome-webfont.eot rename to app/styles/fonts/fontawesome-webfont.eot diff --git a/css/fonts/fontawesome-webfont.svg b/app/styles/fonts/fontawesome-webfont.svg similarity index 100% rename from css/fonts/fontawesome-webfont.svg rename to app/styles/fonts/fontawesome-webfont.svg diff --git a/css/fonts/fontawesome-webfont.ttf b/app/styles/fonts/fontawesome-webfont.ttf similarity index 100% rename from css/fonts/fontawesome-webfont.ttf rename to app/styles/fonts/fontawesome-webfont.ttf diff --git a/css/fonts/fontawesome-webfont.woff b/app/styles/fonts/fontawesome-webfont.woff similarity index 100% rename from css/fonts/fontawesome-webfont.woff rename to app/styles/fonts/fontawesome-webfont.woff diff --git a/css/fonts/fontawesome-webfont.woff2 b/app/styles/fonts/fontawesome-webfont.woff2 similarity index 100% rename from css/fonts/fontawesome-webfont.woff2 rename to app/styles/fonts/fontawesome-webfont.woff2 diff --git a/app/styles/katex.min.css b/app/styles/katex.min.css new file mode 100644 index 0000000..47dd09d --- /dev/null +++ b/app/styles/katex.min.css @@ -0,0 +1 @@ +@font-face{font-family:KaTeX_AMS;src:url(fonts/KaTeX_AMS-Regular.eot);src:url(fonts/KaTeX_AMS-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_AMS-Regular.woff2) format('woff2'),url(fonts/KaTeX_AMS-Regular.woff) format('woff'),url(fonts/KaTeX_AMS-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Bold.eot);src:url(fonts/KaTeX_Caligraphic-Bold.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'),url(fonts/KaTeX_Caligraphic-Bold.woff) format('woff'),url(fonts/KaTeX_Caligraphic-Bold.ttf) format('ttf');font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Caligraphic;src:url(fonts/KaTeX_Caligraphic-Regular.eot);src:url(fonts/KaTeX_Caligraphic-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'),url(fonts/KaTeX_Caligraphic-Regular.woff) format('woff'),url(fonts/KaTeX_Caligraphic-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Bold.eot);src:url(fonts/KaTeX_Fraktur-Bold.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'),url(fonts/KaTeX_Fraktur-Bold.woff) format('woff'),url(fonts/KaTeX_Fraktur-Bold.ttf) format('ttf');font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Fraktur;src:url(fonts/KaTeX_Fraktur-Regular.eot);src:url(fonts/KaTeX_Fraktur-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'),url(fonts/KaTeX_Fraktur-Regular.woff) format('woff'),url(fonts/KaTeX_Fraktur-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Bold.eot);src:url(fonts/KaTeX_Main-Bold.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Main-Bold.woff2) format('woff2'),url(fonts/KaTeX_Main-Bold.woff) format('woff'),url(fonts/KaTeX_Main-Bold.ttf) format('ttf');font-weight:700;font-style:normal}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Italic.eot);src:url(fonts/KaTeX_Main-Italic.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Main-Italic.woff2) format('woff2'),url(fonts/KaTeX_Main-Italic.woff) format('woff'),url(fonts/KaTeX_Main-Italic.ttf) format('ttf');font-weight:400;font-style:italic}@font-face{font-family:KaTeX_Main;src:url(fonts/KaTeX_Main-Regular.eot);src:url(fonts/KaTeX_Main-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Main-Regular.woff2) format('woff2'),url(fonts/KaTeX_Main-Regular.woff) format('woff'),url(fonts/KaTeX_Main-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Math;src:url(fonts/KaTeX_Math-Italic.eot);src:url(fonts/KaTeX_Math-Italic.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Math-Italic.woff2) format('woff2'),url(fonts/KaTeX_Math-Italic.woff) format('woff'),url(fonts/KaTeX_Math-Italic.ttf) format('ttf');font-weight:400;font-style:italic}@font-face{font-family:KaTeX_SansSerif;src:url(fonts/KaTeX_SansSerif-Regular.eot);src:url(fonts/KaTeX_SansSerif-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'),url(fonts/KaTeX_SansSerif-Regular.woff) format('woff'),url(fonts/KaTeX_SansSerif-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Script;src:url(fonts/KaTeX_Script-Regular.eot);src:url(fonts/KaTeX_Script-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Script-Regular.woff2) format('woff2'),url(fonts/KaTeX_Script-Regular.woff) format('woff'),url(fonts/KaTeX_Script-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size1;src:url(fonts/KaTeX_Size1-Regular.eot);src:url(fonts/KaTeX_Size1-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Size1-Regular.woff2) format('woff2'),url(fonts/KaTeX_Size1-Regular.woff) format('woff'),url(fonts/KaTeX_Size1-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size2;src:url(fonts/KaTeX_Size2-Regular.eot);src:url(fonts/KaTeX_Size2-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Size2-Regular.woff2) format('woff2'),url(fonts/KaTeX_Size2-Regular.woff) format('woff'),url(fonts/KaTeX_Size2-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size3;src:url(fonts/KaTeX_Size3-Regular.eot);src:url(fonts/KaTeX_Size3-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Size3-Regular.woff2) format('woff2'),url(fonts/KaTeX_Size3-Regular.woff) format('woff'),url(fonts/KaTeX_Size3-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Size4;src:url(fonts/KaTeX_Size4-Regular.eot);src:url(fonts/KaTeX_Size4-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Size4-Regular.woff2) format('woff2'),url(fonts/KaTeX_Size4-Regular.woff) format('woff'),url(fonts/KaTeX_Size4-Regular.ttf) format('ttf');font-weight:400;font-style:normal}@font-face{font-family:KaTeX_Typewriter;src:url(fonts/KaTeX_Typewriter-Regular.eot);src:url(fonts/KaTeX_Typewriter-Regular.eot#iefix) format('embedded-opentype'),url(fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'),url(fonts/KaTeX_Typewriter-Regular.woff) format('woff'),url(fonts/KaTeX_Typewriter-Regular.ttf) format('ttf');font-weight:400;font-style:normal}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:inline-block;text-align:initial}.katex{font:400 1.21em KaTeX_Main;line-height:1.2;white-space:nowrap;text-indent:0}.katex .katex-html{display:inline-block}.katex .katex-mathml{position:absolute;clip:rect(1px,1px,1px,1px);padding:0;border:0;height:1px;width:1px;overflow:hidden}.katex .base,.katex .strut{display:inline-block}.katex .mathit{font-family:KaTeX_Math;font-style:italic}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .amsrm,.katex .mathbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak{font-family:KaTeX_Fraktur}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr{font-family:KaTeX_Script}.katex .mathsf{font-family:KaTeX_SansSerif}.katex .mainit{font-family:KaTeX_Main;font-style:italic}.katex .textstyle>.mord+.mop{margin-left:.16667em}.katex .textstyle>.mord+.mbin{margin-left:.22222em}.katex .textstyle>.mord+.mrel{margin-left:.27778em}.katex .textstyle>.mop+.mop,.katex .textstyle>.mop+.mord,.katex .textstyle>.mord+.minner{margin-left:.16667em}.katex .textstyle>.mop+.mrel{margin-left:.27778em}.katex .textstyle>.mop+.minner{margin-left:.16667em}.katex .textstyle>.mbin+.minner,.katex .textstyle>.mbin+.mop,.katex .textstyle>.mbin+.mopen,.katex .textstyle>.mbin+.mord{margin-left:.22222em}.katex .textstyle>.mrel+.minner,.katex .textstyle>.mrel+.mop,.katex .textstyle>.mrel+.mopen,.katex .textstyle>.mrel+.mord{margin-left:.27778em}.katex .textstyle>.mclose+.mop{margin-left:.16667em}.katex .textstyle>.mclose+.mbin{margin-left:.22222em}.katex .textstyle>.mclose+.mrel{margin-left:.27778em}.katex .textstyle>.mclose+.minner,.katex .textstyle>.minner+.mop,.katex .textstyle>.minner+.mord,.katex .textstyle>.mpunct+.mclose,.katex .textstyle>.mpunct+.minner,.katex .textstyle>.mpunct+.mop,.katex .textstyle>.mpunct+.mopen,.katex .textstyle>.mpunct+.mord,.katex .textstyle>.mpunct+.mpunct,.katex .textstyle>.mpunct+.mrel{margin-left:.16667em}.katex .textstyle>.minner+.mbin{margin-left:.22222em}.katex .textstyle>.minner+.mrel{margin-left:.27778em}.katex .mclose+.mop,.katex .minner+.mop,.katex .mop+.mop,.katex .mop+.mord,.katex .mord+.mop,.katex .textstyle>.minner+.minner,.katex .textstyle>.minner+.mopen,.katex .textstyle>.minner+.mpunct{margin-left:.16667em}.katex .reset-textstyle.textstyle{font-size:1em}.katex .reset-textstyle.scriptstyle{font-size:.7em}.katex .reset-textstyle.scriptscriptstyle{font-size:.5em}.katex .reset-scriptstyle.textstyle{font-size:1.42857em}.katex .reset-scriptstyle.scriptstyle{font-size:1em}.katex .reset-scriptstyle.scriptscriptstyle{font-size:.71429em}.katex .reset-scriptscriptstyle.textstyle{font-size:2em}.katex .reset-scriptscriptstyle.scriptstyle{font-size:1.4em}.katex .reset-scriptscriptstyle.scriptscriptstyle{font-size:1em}.katex .style-wrap{position:relative}.katex .vlist{display:inline-block}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist .baseline-fix{display:inline-table;table-layout:fixed}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{width:100%}.katex .mfrac .frac-line:before{border-bottom-style:solid;border-bottom-width:1px;content:"";display:block}.katex .mfrac .frac-line:after{border-bottom-style:solid;border-bottom-width:.04em;content:"";display:block;margin-top:-1px}.katex .mspace{display:inline-block}.katex .mspace.negativethinspace{margin-left:-.16667em}.katex .mspace.thinspace{width:.16667em}.katex .mspace.mediumspace{width:.22222em}.katex .mspace.thickspace{width:.27778em}.katex .mspace.enspace{width:.5em}.katex .mspace.quad{width:1em}.katex .mspace.qquad{width:2em}.katex .llap,.katex .rlap{width:0;position:relative}.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .rlap>.inner{left:0}.katex .katex-logo .a{font-size:.75em;margin-left:-.32em;position:relative;top:-.2em}.katex .katex-logo .t{margin-left:-.23em}.katex .katex-logo .e{margin-left:-.1667em;position:relative;top:.2155em}.katex .katex-logo .x{margin-left:-.125em}.katex .rule{display:inline-block;border:0 solid;position:relative}.katex .overline .overline-line,.katex .underline .underline-line{width:100%}.katex .overline .overline-line:before,.katex .underline .underline-line:before{border-bottom-style:solid;border-bottom-width:1px;content:"";display:block}.katex .overline .overline-line:after,.katex .underline .underline-line:after{border-bottom-style:solid;border-bottom-width:.04em;content:"";display:block;margin-top:-1px}.katex .sqrt>.sqrt-sign{position:relative}.katex .sqrt .sqrt-line{width:100%}.katex .sqrt .sqrt-line:before{border-bottom-style:solid;border-bottom-width:1px;content:"";display:block}.katex .sqrt .sqrt-line:after{border-bottom-style:solid;border-bottom-width:.04em;content:"";display:block;margin-top:-1px}.katex .sqrt>.root{margin-left:.27777778em;margin-right:-.55555556em}.katex .fontsize-ensurer,.katex .sizing{display:inline-block}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:2em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:3.46em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:4.14em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.98em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.71428571em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.14285714em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.28571429em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.42857143em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.71428571em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2.05714286em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.47142857em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.95714286em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.55714286em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.875em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.125em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.25em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.5em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.8em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.1625em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.5875em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:3.1125em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.55555556em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.77777778em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.88888889em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.11111111em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.33333333em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.6em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.92222222em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.3em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.76666667em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.7em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.8em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.9em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.2em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.44em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.73em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:2.07em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.49em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.41666667em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.58333333em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.66666667em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.75em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.83333333em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44166667em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.725em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.075em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.34722222em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.48611111em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.55555556em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.625em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.69444444em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.83333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.20138889em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.4375em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.72916667em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.28901734em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.40462428em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.46242775em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.52023121em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.57803468em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.69364162em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.83236994em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.19653179em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.43930636em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.24154589em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.33816425em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.38647343em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.43478261em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.48309179em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.57971014em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.69565217em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.83574879em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.20289855em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.20080321em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2811245em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.32128514em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.36144578em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.40160643em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48192771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.57831325em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.69477912em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8313253em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist>span,.katex .op-limits>.vlist>span{text-align:center}.katex .accent .accent-body>span{width:0}.katex .accent .accent-body.accent-vec>span{position:relative;left:.326em}.katex .mtable .vertical-separator{display:inline-block;margin:0 -.025em;border-right:.05em solid #000}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist{text-align:center}.katex .mtable .col-align-l>.vlist{text-align:left}.katex .mtable .col-align-r>.vlist{text-align:right} \ No newline at end of file diff --git a/app/styles/style.css b/app/styles/style.css new file mode 100644 index 0000000..f9dad69 --- /dev/null +++ b/app/styles/style.css @@ -0,0 +1,275 @@ +html, +body, +section, +.full-height { + height: 100%; +} + +#pad { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + border: none; + overflow: auto; + outline: none; + resize: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + box-shadow: none; +} + +#markdown { + overflow: auto; +} + +.pref { + float: right; + width: 50%; + padding-right: 10px; +} + +.pref label { + vertical-align: middle; + font-size: 12px; +} + +.pref .module { + float: left; + width: 50%; +} + +.pref .format { + text-align: right; +} + +.mode { + float: left; + width: 50%; + text-align: left; + padding-left: 10px; +} + +.mdHtml { + display: none; + width: 100%; + height: 100%; + resize: none; + overflow: auto; +} + +.optContainer { + position: fixed; + top: 0; + left: 0; + z-index: 999; + width: 100%; + height: 24px; + background-color: #D8DEE9; + position: fixed; + box-shadow: 0px 1px 8px 0px rgba(0, 0, 0, 0.25); +} + +#htmlPreview:focus { + outline: 1px solid #ECE6E6; +} + +#toolbarArea { + position: fixed; + top: 25px; + left: 0; + z-index: 999; + width: 100%; + height: 28px; + display: none; + border-bottom: 1px #BFBFBF solid; + background-color: #E8E8E8; +} + +.editor-toolbar { + display: inline-block; + text-align: center; + text-decoration: none!important; + color: #2c3e50!important; + width: 25px; + height: 25px; + margin: 0; + border: 1px solid transparent; + border-radius: 3px; + cursor: pointer; + line-height: 24px; + padding: 4px 10px 0px 6px; +} + +.editor-toolbar:hover { + background: #fcfcfc; + border-color: #95a5a6; +} + +.separator { + display: inline-block; + width: 0; + border-left: 1px solid #d9d9d9; + border-right: 1px solid #fff; + color: transparent; + text-indent: -10px; + margin: 0 6px; +} + +.toolContainer { + width: 16px; + float: left; +} + +input[type="radio"] { + display: table-cell; + vertical-align: middle +} + +.switch-field { + display: flex; + overflow: hidden; + margin-top: 2px; +} + +.switch-field input { + position: absolute !important; + clip: rect(0, 0, 0, 0); + height: 1px; + width: 1px; + border: 0; + overflow: hidden; +} + +.switch-field label { + background-color: #e4e4e4; + color: rgba(0, 0, 0, 0.6); + font-size: 12px; + line-height: 1; + text-align: center; + padding: 3px 8px; + margin-right: -1px; + border: 1px solid rgba(0, 0, 0, 0.2); + transition: all 0.1s ease-in-out; +} + +.switch-field label:hover { + cursor: pointer; +} + +.switch-field input:checked+label { + background-color: #BDBDBD; + box-shadow: none; +} + +.switch-field label:first-of-type { + border-radius: 4px 0 0 4px; +} + +.switch-field label:last-of-type { + border-radius: 0 4px 4px 0; +} + +.preview-pane { + float: right; +} + +input[type="radio"]:checked:before { + content: ""; + display: block; + position: relative; + top: 3px; + left: 3px; + width: 6px; + height: 6px; + border-radius: 50%; + background: #442178; +} + +.modal--default__content { + position: relative; + box-sizing: border-box; + width: 100%; + padding: 1em; + background: #f2f0ed; +} + +.markdown-help-content { + width: 100%; + border-spacing: 0; +} + +.markdown-help-content tr { + line-height: 30px; +} + +.markdown-help-content tr:nth-child(even) { + background-color: rgb(212, 212, 212); +} + +.markdown-help-content tr:first-child td { + border-top: 0; +} + +.markdown-help-content td { + border-top: 1px solid rgba(38, 50, 56, .1); + min-width: 180px; +} + +.preview-dark-mode { + background: #272727; + color: #E0E0E0; +} + +.preview-dark-mode textarea { + background: #272727; + color: #E0E0E0; +} + +.cmpad { + padding-right: 0; + padding-left: 0; +} + +@media print { + html, + body { + height: 99%; + } + #editArea { + padding-top: 0 !important; + } + .optContainer, + #toolbarArea, + #textPanel { + display: none; + } + #markdown { + height: 100%; + } + #previewPanel { + height: auto; + overflow: visible; + } + ::-webkit-scrollbar { + width: 0; + /*new*/ + display: none; + } +} + +::-webkit-scrollbar { + width: 5px; + /*new*/ +} + +::-webkit-scrollbar-track { + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); + border-radius: 10px; +} + +::-webkit-scrollbar-thumb { + border-radius: 10px; + -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5); +} + +.cm-s-base16-dark.CodeMirror{ + padding: 10px; +} \ No newline at end of file diff --git a/app/styles/themes/ayu_colors.css b/app/styles/themes/ayu_colors.css new file mode 100644 index 0000000..a393228 --- /dev/null +++ b/app/styles/themes/ayu_colors.css @@ -0,0 +1,29 @@ + +.cm-s-base16-dark.CodeMirror { background: #131721; color: #FCFCFC; } +.cm-s-base16-dark div.CodeMirror-selected { background: #565B66; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: #565B66; } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: #565B66; } +.cm-s-base16-dark .CodeMirror-gutters { background: #0D1017; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #F07178; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #707A8C; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #707A8C; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #FCFCFC; } + +.cm-s-base16-dark span.cm-comment { color: #F29668; } +.cm-s-base16-dark span.cm-atom { color: #D2A6FF; } +.cm-s-base16-dark span.cm-number { color: #D2A6FF; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #44D94C; } +.cm-s-base16-dark span.cm-keyword { color: #F07178; } +.cm-s-base16-dark span.cm-string { color: #FFDFB3; } + +.cm-s-base16-dark span.cm-variable { color: #44D94C; } +.cm-s-base16-dark span.cm-variable-2 { color: #39BAE6; } +.cm-s-base16-dark span.cm-def { color: #FFDFB3; } +.cm-s-base16-dark span.cm-bracket { color: #FCFCFC; } +.cm-s-base16-dark span.cm-tag { color: #F07178; } +.cm-s-base16-dark span.cm-link { color: #D2A6FF; } +.cm-s-base16-dark span.cm-error { background: #F07178; color: #242936; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #242936; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: #FCFCFC !important; } diff --git a/app/styles/themes/dracula.css b/app/styles/themes/dracula.css new file mode 100644 index 0000000..8c61c3c --- /dev/null +++ b/app/styles/themes/dracula.css @@ -0,0 +1,29 @@ + +.cm-s-base16-dark.CodeMirror { background: #282a36; color: #f8f8f2; } +.cm-s-base16-dark div.CodeMirror-selected { background: #44475a; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: #44475a; } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: #44475a; } +.cm-s-base16-dark .CodeMirror-gutters { background: #282a36; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #ff5555; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #44475a; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #44475a; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #f8f8f2; } + +.cm-s-base16-dark span.cm-comment { color: #ffb86c; } +.cm-s-base16-dark span.cm-atom { color: #ff79c6; } +.cm-s-base16-dark span.cm-number { color: #ff79c6; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #50fa7b; } +.cm-s-base16-dark span.cm-keyword { color: #ff5555; } +.cm-s-base16-dark span.cm-string { color: #f1fa8c; } + +.cm-s-base16-dark span.cm-variable { color: #50fa7b; } +.cm-s-base16-dark span.cm-variable-2 { color: #8be9fd; } +.cm-s-base16-dark span.cm-def { color: #f1fa8c; } +.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; } +.cm-s-base16-dark span.cm-tag { color: #ff5555; } +.cm-s-base16-dark span.cm-link { color: #ff79c6; } +.cm-s-base16-dark span.cm-error { background: #ff5555; color: #44475a; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #282a36; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: #f8f8f2 !important; } diff --git a/app/styles/themes/gruvbox.css b/app/styles/themes/gruvbox.css new file mode 100644 index 0000000..581afb7 --- /dev/null +++ b/app/styles/themes/gruvbox.css @@ -0,0 +1,29 @@ + +.cm-s-base16-dark.CodeMirror { background: #282828; color: #fbf1c7; } +.cm-s-base16-dark div.CodeMirror-selected { background: #3c3836; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: #3c3836; } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: #3c3836; } +.cm-s-base16-dark .CodeMirror-gutters { background: #1d2021; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #fb4934; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #504945; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #504945; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #fbf1c7; } + +.cm-s-base16-dark span.cm-comment { color: #d65d0e; } +.cm-s-base16-dark span.cm-atom { color: #d3869b; } +.cm-s-base16-dark span.cm-number { color: #d3869b; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #A3BE8C; } +.cm-s-base16-dark span.cm-keyword { color: #fb4934; } +.cm-s-base16-dark span.cm-string { color: #EBCB8B; } + +.cm-s-base16-dark span.cm-variable { color: #A3BE8C; } +.cm-s-base16-dark span.cm-variable-2 { color: #88C0D0; } +.cm-s-base16-dark span.cm-def { color: #EBCB8B; } +.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; } +.cm-s-base16-dark span.cm-tag { color: #fb4934; } +.cm-s-base16-dark span.cm-link { color: #d3869b; } +.cm-s-base16-dark span.cm-error { background: #fb4934; color: #7c6f64; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #282828; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: #fbf1c7 !important; } diff --git a/app/styles/themes/nord.css b/app/styles/themes/nord.css new file mode 100644 index 0000000..7f7790e --- /dev/null +++ b/app/styles/themes/nord.css @@ -0,0 +1,29 @@ + +.cm-s-base16-dark.CodeMirror { background: #2E3440; color: #D8DEE9; } +.cm-s-base16-dark div.CodeMirror-selected { background: #3B4252; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: #3B4252; } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: #3B4252; } +.cm-s-base16-dark .CodeMirror-gutters { background: #151515; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #BF616A; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #434C5E; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #434C5E; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #D8DEE9; } + +.cm-s-base16-dark span.cm-comment { color: #D08770; } +.cm-s-base16-dark span.cm-atom { color: #B48EAD; } +.cm-s-base16-dark span.cm-number { color: #B48EAD; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #A3BE8C; } +.cm-s-base16-dark span.cm-keyword { color: #BF616A; } +.cm-s-base16-dark span.cm-string { color: #EBCB8B; } + +.cm-s-base16-dark span.cm-variable { color: #A3BE8C; } +.cm-s-base16-dark span.cm-variable-2 { color: #88C0D0; } +.cm-s-base16-dark span.cm-def { color: #EBCB8B; } +.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; } +.cm-s-base16-dark span.cm-tag { color: #BF616A; } +.cm-s-base16-dark span.cm-link { color: #B48EAD; } +.cm-s-base16-dark span.cm-error { background: #BF616A; color: #4C566A; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #2E3440; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: #D8DEE9 !important; } diff --git a/app/styles/themes/oceanic.css b/app/styles/themes/oceanic.css new file mode 100644 index 0000000..9864459 --- /dev/null +++ b/app/styles/themes/oceanic.css @@ -0,0 +1,29 @@ + +.cm-s-base16-dark.CodeMirror { background: #1b2b34; color: #ffffff; } +.cm-s-base16-dark div.CodeMirror-selected { background: #4f5b66; } +.cm-s-base16-dark .CodeMirror-line::selection, .cm-s-base16-dark .CodeMirror-line > span::selection, .cm-s-base16-dark .CodeMirror-line > span > span::selection { background: #4f5b66; } +.cm-s-base16-dark .CodeMirror-line::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span::-moz-selection, .cm-s-base16-dark .CodeMirror-line > span > span::-moz-selection { background: #4f5b66; } +.cm-s-base16-dark .CodeMirror-gutters { background: #343d46; border-right: 0px; } +.cm-s-base16-dark .CodeMirror-guttermarker { color: #ec5f67; } +.cm-s-base16-dark .CodeMirror-guttermarker-subtle { color: #65737e; } +.cm-s-base16-dark .CodeMirror-linenumber { color: #65737e; } +.cm-s-base16-dark .CodeMirror-cursor { border-left: 1px solid #ffffff; } + +.cm-s-base16-dark span.cm-comment { color: #f99157; } +.cm-s-base16-dark span.cm-atom { color: #c594c5; } +.cm-s-base16-dark span.cm-number { color: #c594c5; } + +.cm-s-base16-dark span.cm-property, .cm-s-base16-dark span.cm-attribute { color: #99c794; } +.cm-s-base16-dark span.cm-keyword { color: #ec5f67; } +.cm-s-base16-dark span.cm-string { color: #fac863; } + +.cm-s-base16-dark span.cm-variable { color: #99c794; } +.cm-s-base16-dark span.cm-variable-2 { color: #62b3b2; } +.cm-s-base16-dark span.cm-def { color: #fac863; } +.cm-s-base16-dark span.cm-bracket { color: #e0e0e0; } +.cm-s-base16-dark span.cm-tag { color: #ec5f67; } +.cm-s-base16-dark span.cm-link { color: #c594c5; } +.cm-s-base16-dark span.cm-error { background: #ec5f67; color: #65737e; } + +.cm-s-base16-dark .CodeMirror-activeline-background { background: #1b2b34; } +.cm-s-base16-dark .CodeMirror-matchingbracket { text-decoration: underline; color: #ffffff !important; } diff --git a/config.js b/config.js new file mode 100644 index 0000000..a143b13 --- /dev/null +++ b/config.js @@ -0,0 +1,10 @@ +'use strict'; +const Config = require('electron-config'); + +module.exports = new Config({ + defaults: { + darkMode: false, + isSyncScroll: false, + isHtml: false + } +}); diff --git a/css/style.css b/css/style.css deleted file mode 100644 index 6b8b630..0000000 --- a/css/style.css +++ /dev/null @@ -1,176 +0,0 @@ -html, body, section, .full-height { - height: 100%; -} - -#pad{ - font-family: Menlo,Monaco,Consolas,"Courier New",monospace; - - border: none; - overflow: auto; - outline: none; - resize: none; - - -webkit-box-shadow: none; - -moz-box-shadow: none; - box-shadow: none; -} - -#markdown { - overflow: auto; -} - -.pref { - float: right; - width: 50%; - padding-right: 10px; -} -.pref label { - vertical-align: middle; -} -.pref .module { - float: left; - width: 50%; -} -.pref .format { - text-align: right; -} -.mode { - float: left; - width: 50%; - text-align: left; - padding-left: 10px; -} - -.mdHtml { - display:none; - width:100%; - height:100%; - resize:none; - overflow:auto; -} - -.optContainer{ - position:fixed; - top: 0; - left: 0; - z-index: 999; - width: 100%; - height: 23px; - box-shadow: 0px 1px 11px -2px rgba(0,0,0,0.75); -} - -#htmlPreview:focus{ - outline: 1px solid #ECE6E6; -} - -#toolbarArea{ - position: fixed; - top: 25px; - left: 0; - z-index: 999; - width: 100%; - height: 28px; - display:none; - border-bottom: 1px #BFBFBF solid; - background-color: #E8E8E8; -} - -.editor-toolbar{ - display: inline-block; - text-align: center; - text-decoration: none!important; - color: #2c3e50!important; - width: 25px; - height: 25px; - margin: 0; - border: 1px solid transparent; - border-radius: 3px; - cursor: pointer; - line-height: 24px; - padding: 4px 10px 0px 6px; -} - -.editor-toolbar:hover { - background: #fcfcfc; - border-color: #95a5a6; -} - -.separator { - display: inline-block; - width: 0; - border-left: 1px solid #d9d9d9; - border-right: 1px solid #fff; - color: transparent; - text-indent: -10px; - margin: 0 6px; -} - -.toolContainer{ - width: 16px; - float: left; -} - -input[type="radio"]:checked:before { - content: ""; - display: block; - position: relative; - top: 3px; - left: 3px; - width: 6px; - height: 6px; - border-radius: 50%; - background: #442178; -} - -.modal--default__content { - position: relative; - box-sizing: border-box; - width: 100%; - padding: 1em; - background: #f2f0ed; -} - -.markdown-help-content { - width: 100%; - border-spacing: 0; -} - -.markdown-help-content tr { - line-height: 30px; -} - -.markdown-help-content tr:nth-child(even) { - background-color: rgb(212, 212, 212); -} - -.markdown-help-content tr:first-child td { - border-top: 0; -} -.markdown-help-content td { - border-top: 1px solid rgba(38,50,56,.1); - min-width: 180px; -} - -.preview-dark-mode{ - background: #151515; - color: #E0E0E0; -} - -.preview-dark-mode textarea{ - background: #151515; - color: #E0E0E0; -} - -::-webkit-scrollbar { - width: 12px; -} - -::-webkit-scrollbar-track { - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3); - border-radius: 10px; -} - -::-webkit-scrollbar-thumb { - border-radius: 10px; - -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5); -} diff --git a/gulpfile.js b/gulpfile.js index 0562e5a..a5be096 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -6,11 +6,11 @@ const packager = require('electron-packager'); const config = JSON.parse(fs.readFileSync('package.json')); const appVersion = config.version; -const electronVersion = config.devDependencies['electron-prebuilt'].match(/[\d.]+/)[0]; +const electronVersion = config.devDependencies['electron'].match(/[\d.]+/)[0]; const options = { asar: true, dir: '.', - icon: './img/markdownify.icns', + icon: './app/img/markdownify.icns', name: 'Markdownify', out: 'dist', overwrite: true, @@ -24,22 +24,30 @@ gulp.task('build:osx', (done) => { options.platform = 'darwin'; options['app-bundle-id'] = 'com.amitmerchant.markdownify'; options['helper-bundle-id'] = 'com.amitmerchant.markdownify.helper'; - + packager(options, (err, paths) => { if (err) { console.error(err); } - + done(); }); }); gulp.task('build:linux', () => { - // @TODO + // @TODO }); gulp.task('build:windows', () => { - // @TODO + options.arch = 'x64'; + options.platform = 'win32'; + packager(options, (err, paths) => { + if (err) { + console.error(err); + } + + done(); + }); }); gulp.task('build', ['build:osx', 'build:linux', 'build:windows']); diff --git a/img/markdownify.gif b/img/markdownify.gif deleted file mode 100644 index ee9f725..0000000 Binary files a/img/markdownify.gif and /dev/null differ diff --git a/img/markdownify.png b/img/markdownify.png deleted file mode 100644 index d733786..0000000 Binary files a/img/markdownify.png and /dev/null differ diff --git a/index.html b/index.html index 996f61c..19b2708 100644 --- a/index.html +++ b/index.html @@ -2,13 +2,14 @@ New document - Markdownify - - - - - - - + + + + + + + +
@@ -16,19 +17,24 @@ - - - + + + + +
- +
-
- - +
+ + + +
+
@@ -42,6 +48,8 @@ | + + | @@ -52,10 +60,10 @@
-
+
-
+
@@ -133,21 +141,21 @@
- - + + - - - - - - - - - - - - + + + + + + + + + + + +