diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..4496cc10 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,68 @@ +# Changelog +All notable changes to this project will be documented in this file. +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## Next +### Changed +- Switched to [Nuxt.js](//nuxtjs.org) + - Server-Side rendered static app + - Better SEO +- Switched to Typescript using class components decorators from [nuxt-property-decorator](https://github.com/nuxt-community/nuxt-property-decorator) +- UI and theme reworked +- URL path changed + - `/hash` -> [`/hash-text`](https://it-tools.tech/hash-text) + - `/cypher` -> [`/cypher-uncyfer-text`](https://it-tools.tech/cypher-uncyfer-text) + +### Added +- Added [/how-to-report-bug-or-request](/how-to-report-bug-or-request) route to explain how to report bug and request features + +## 1.7.0 +- [feat] [Crontab friendly generator](https://it-tools.tech/crontab-generator) + +## 1.6.0 +- [feat] [BIP39 generator](https://it-tools.tech/bip39-generator) +- [feat] [Base 64 converter](https://it-tools.tech/base64-string-converter) + +## 1.5.2 +- [feat] [humans.txt](https://it-tools.tech/humans.txt) +- [feat] pwa auto update on new changes + +## 1.5.1 +- [feat] switched back to history mode (no more '#' in url) + +## 1.5.0 +- [feat] added [qr-code generator](https://it-tools.tech/qrcode-generator) + +## 1.4.0 +- [ui] condensed + colored sidenav +- [feat] added [git memo](https://it-tools.tech/git-memo) +- [refactor] changed app title + +## 1.3.0 +- [fix] [GithubContributors] ordered contributors by contribution count +- [refactor] used vue-typecasting for number inputs +- [feat] lazy loading tools routes +- [feat] added [markdown editor](https://it-tools.tech/markdown-editor) +- [feat] added [lorem ipsum generator](https://it-tools.tech/lorem-ipsum-generator) + +## 1.2.1 +- [fix] [UuidGenerator] added quantity validation rules +- [refactor] better isInt checker + +## 1.2.0 +- [feat] [UuidGenerator] can generate multiple uuids + +## 1.1.0 +- [feat] 404 route + page +- [feat] changelog in the About page +- [feat] contributors list in the About page +- [fix] [ColorConverter] color picker now updates fields + +## 1.0.1 +- [chore] added changelog +- [fix] [BaseConverter] prevented non-integer bases +- [fix] remove history move (incompatible with vercel.com) + +## 1.0.0 +- First release diff --git a/assets/variables.scss b/assets/variables.scss index a76dcbf1..f1d0220e 100644 --- a/assets/variables.scss +++ b/assets/variables.scss @@ -3,3 +3,4 @@ // The variables you want to modify // $font-size-root: 20px; +$test: linear-gradient(90deg, rgba(37, 99, 108, 1) 0%, rgba(59, 149, 111, 1) 60%, rgba(71, 177, 113, 1) 100%) diff --git a/components/SearchBar.vue b/components/SearchBar.vue index 9276ad1a..73f25ffe 100644 --- a/components/SearchBar.vue +++ b/components/SearchBar.vue @@ -2,14 +2,15 @@ - diff --git a/components/ToolWrapper.vue b/components/ToolWrapper.vue index e8046a47..eb3a8eb5 100644 --- a/components/ToolWrapper.vue +++ b/components/ToolWrapper.vue @@ -1,7 +1,7 @@ + + diff --git a/pages/how-to-report-bug-or-request.vue b/pages/how-to-report-bug-or-request.vue new file mode 100644 index 00000000..cf9f410a --- /dev/null +++ b/pages/how-to-report-bug-or-request.vue @@ -0,0 +1,20 @@ + + + + + diff --git a/pages/index.vue b/pages/index.vue index f6296e1b..04a40101 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -2,17 +2,57 @@

Yolo

+ + + {{ section }} + + + + + {{ item.config.icon }} + + + + + + + +
- diff --git a/pages/tools/crypto/cypher-uncyfer-text.vue b/pages/tools/crypto/cypher-uncyfer-text.vue new file mode 100644 index 00000000..a19b36ca --- /dev/null +++ b/pages/tools/crypto/cypher-uncyfer-text.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/pages/tools/crypto/hash-text.vue b/pages/tools/crypto/hash-text.vue new file mode 100644 index 00000000..0ecad9ff --- /dev/null +++ b/pages/tools/crypto/hash-text.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/pages/tools/crypto/token-generator.vue b/pages/tools/crypto/token-generator.vue index 98a567b6..dcef6784 100644 --- a/pages/tools/crypto/token-generator.vue +++ b/pages/tools/crypto/token-generator.vue @@ -11,7 +11,7 @@ - + @@ -30,16 +30,16 @@ import {Component} from 'nuxt-property-decorator' import Tool from '~/components/Tool.vue' import {ToolConfig} from '~/types/ToolConfig' -import {Copyable} from '~/mixins/copyable' +import {CopyableMixin} from '~/mixins/copyable.mixin' +import {shuffle} from '~/utils/string' -const shuffle = (s: string) => s.split('').sort(() => 0.5 - Math.random()).join('') const lowercase = 'abcdefghijklmopqrstuvwxyz' const uppercase = 'ABCDEFGHIJKLMOPQRSTUVWXYZ' const numbers = '0123456789' const specials = '.,;:!?./-"\'#{([-|\\@)]=}*+' @Component({ - mixins: [Copyable] + mixins: [CopyableMixin] }) export default class TokenGenerator extends Tool { config(): ToolConfig { diff --git a/pages/tools/crypto/uuid-generator.vue b/pages/tools/crypto/uuid-generator.vue new file mode 100644 index 00000000..ef056a25 --- /dev/null +++ b/pages/tools/crypto/uuid-generator.vue @@ -0,0 +1,92 @@ + + + + + diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 00000000..25d43972 Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 00000000..84f1f340 Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 00000000..3f15b9d1 Binary files /dev/null and b/static/apple-touch-icon.png differ diff --git a/static/browserconfig.xml b/static/browserconfig.xml new file mode 100644 index 00000000..f9c2e67f --- /dev/null +++ b/static/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2b5797 + + + diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 00000000..3c881bdf Binary files /dev/null and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 00000000..b29f5ee9 Binary files /dev/null and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico index 3632d0c8..df3813f4 100644 Binary files a/static/favicon.ico and b/static/favicon.ico differ diff --git a/static/icon.png b/static/icon.png deleted file mode 100644 index e076dd8c..00000000 Binary files a/static/icon.png and /dev/null differ diff --git a/static/mstile-150x150.png b/static/mstile-150x150.png new file mode 100644 index 00000000..9fd85341 Binary files /dev/null and b/static/mstile-150x150.png differ diff --git a/static/safari-pinned-tab.svg b/static/safari-pinned-tab.svg new file mode 100644 index 00000000..72240c63 --- /dev/null +++ b/static/safari-pinned-tab.svg @@ -0,0 +1,83 @@ + + + + +Created by potrace 1.11, written by Peter Selinger 2001-2013 + + + + + + diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 00000000..50f00cfd --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "IT - Tools", + "short_name": "IT Tools", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/tsconfig.json b/tsconfig.json index 88c81350..0f134056 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -28,7 +28,8 @@ "@types/node", "@nuxtjs/toast", "@nuxt/types", - "~/types/custom.d.ts" + "~/types/custom.d.ts", + "vuetify" ] }, "exclude": [ diff --git a/types/ToolConfig.ts b/types/ToolConfig.ts index 8d6cc1b8..a38c5fc1 100644 --- a/types/ToolConfig.ts +++ b/types/ToolConfig.ts @@ -1,3 +1,5 @@ +import {RouteConfig} from '@nuxt/types/config/router'; + interface ToolConfig { title: string; description: string; @@ -6,5 +8,6 @@ interface ToolConfig { } type ToolConfigMethod = () => ToolConfig; +type ToolRouteConfig = RouteConfig & {config: ToolConfig} -export {ToolConfig, ToolConfigMethod} +export {ToolConfig, ToolConfigMethod, ToolRouteConfig} diff --git a/utils/string.ts b/utils/string.ts index 0cdfe693..ae315aa0 100644 --- a/utils/string.ts +++ b/utils/string.ts @@ -1,5 +1,5 @@ -function capitalise(s: string) { - return s.charAt(0).toUpperCase() + s.slice(1) -} +const capitalise = (s: string) => s.charAt(0).toUpperCase() + s.slice(1) -export {capitalise} +const shuffle = (s: string) => s.split('').sort(() => 0.5 - Math.random()).join('') + +export {capitalise, shuffle}