From f9f80b4e3ab08a71f262770a99a42657d65d17dd Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Thu, 11 Jun 2020 13:25:16 +0200 Subject: [PATCH 01/15] fix: replace next by version Signed-off-by: Corentin Thomasset --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 32c3bd2e..89152688 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,7 +3,7 @@ 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 +## 1.2.1 - [fix] [UuidGenerator] added quantity validation rules - [refactor] better isInt checker From 26bda68f41319a4f320708e8dab2294edee287a3 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Thu, 11 Jun 2020 13:25:57 +0200 Subject: [PATCH 02/15] fix: ordered contributors by contribution count Signed-off-by: Corentin Thomasset --- CHANGELOG.md | 3 +++ src/components/GithubContributors.vue | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89152688..3482c59f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ 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 +- [fix] [GithubContributors] ordered contributors by contribution count + ## 1.2.1 - [fix] [UuidGenerator] added quantity validation rules - [refactor] better isInt checker diff --git a/src/components/GithubContributors.vue b/src/components/GithubContributors.vue index c6648070..84a9e291 100644 --- a/src/components/GithubContributors.vue +++ b/src/components/GithubContributors.vue @@ -36,7 +36,7 @@ axios .get(url) .then(({data}) => { - this.contributors = data.sort((a, b) => a.contributions - b.contributions) + this.contributors = data.sort((a, b) => b.contributions - a.contributions) this.loading = false }) .catch(() => this.hasError = true) From b63c4b54151043d847d8f1b56d8402ee59ac9b7c Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sat, 13 Jun 2020 23:28:25 +0200 Subject: [PATCH 03/15] refactor: lazy-loading tools routes Signed-off-by: Corentin Thomasset --- src/router.js | 35 +++++++++++++---------------------- 1 file changed, 13 insertions(+), 22 deletions(-) diff --git a/src/router.js b/src/router.js index 630d4c07..da8cc6a0 100644 --- a/src/router.js +++ b/src/router.js @@ -1,19 +1,10 @@ import Vue from 'vue' import VueRouter from 'vue-router' import Home from './routes/Home.vue' -import TokenGenerator from "./routes/tools/TokenGenerator"; -import Hash from "./routes/tools/Hash"; -import DateConverter from "./routes/tools/DateConverter"; -import UrlEncoder from "./routes/tools/UrlEncoder"; -import FileToBase64 from "./routes/tools/FileToBase64"; -import TextCypher from "./routes/tools/TextCypher"; -import TextStats from "./routes/tools/TextStats"; -import BaseConverter from "./routes/tools/BaseConverter"; -import UuidGenerator from "./routes/tools/UuidGenerator"; -import ColorConverter from "./routes/tools/ColorConverter"; Vue.use(VueRouter) +const lazyLoad = (componentPath) => (() => import(componentPath)); const toolsComponents = [ { @@ -23,7 +14,7 @@ const toolsComponents = [ icon: 'fa-key', text: 'Token generator', path: '/token-generator', - component: TokenGenerator, + component: lazyLoad('./routes/tools/TokenGenerator'), keywords: ['token', 'random', 'string', 'alphanumeric'], description: 'Generate random tokens.' }, @@ -31,14 +22,14 @@ const toolsComponents = [ icon: 'fa-fingerprint', text: 'Uuid generator', path: '/uuid-generator', - component: UuidGenerator, + component: lazyLoad('./routes/tools/UuidGenerator'), keywords: ['token', 'v4', 'string', 'alphanumeric'] }, { icon: 'fa-font', text: 'Hash text', path: '/hash', - component: Hash, + component: lazyLoad('./routes/tools/Hash'), keywords: ['md5', 'sha1', 'sha256', 'sha224', 'sha512', 'sha384', 'sha3', 'ripemd160', 'random'] }, @@ -46,7 +37,7 @@ const toolsComponents = [ icon: 'fa-lock', text: 'Cypher/uncypher text', path: '/cypher', - component: TextCypher, + component: lazyLoad('./routes/tools/TextCypher'), keywords: ['aes', 'tripledes', 'rabbit', 'rabbitlegacy', 'rc4'] }, ], @@ -58,21 +49,21 @@ const toolsComponents = [ icon: 'fa-calendar', text: 'Date/Time converter', path: '/date-converter', - component: DateConverter, + component: lazyLoad('./routes/tools/DateConverter'), keywords: ['locale', 'format', 'iso 8601', 'utc', 'timestamp', 'unix', 'year', 'month', 'day', 'hours', 'minutes', 'seconds'] }, { icon: 'fa-exchange-alt', text: 'Base converter', path: '/base-converter', - component: BaseConverter, + component: lazyLoad('./routes/tools/BaseConverter'), keywords: ['binary', 'hexadecimal', 'decimal'] }, { icon: 'fa-palette', text: 'Color picker/converter', path: '/color-picker-converter', - component: ColorConverter, + component: lazyLoad('./routes/tools/ColorConverter'), keywords: ['rgb', 'rgba', 'hexadecimal', 'hsla', 'red', 'green', 'blue', 'alpha'] }, ], @@ -84,14 +75,14 @@ const toolsComponents = [ icon: 'fa-link', text: 'URL encode/decode', path: '/url-encoder', - component: UrlEncoder, + component: lazyLoad('./routes/tools/UrlEncoder'), keywords: ['%20'] }, { icon: 'fa-file-export', text: 'File to Base64', path: '/file-to-base64', - component: FileToBase64 + component: lazyLoad('./routes/tools/FileToBase64') }, ], }, @@ -102,7 +93,7 @@ const toolsComponents = [ icon: 'fa-align-left\n', text: 'Text stats', path: '/text-stats', - component: TextStats, + component: lazyLoad('./routes/tools/TextStats'), keywords: ['word', 'count', 'size', 'bytes', 'length'] }, ], @@ -120,12 +111,12 @@ const routes = [ { path: '/about', name: 'About', - component: () => import('./routes/About.vue') + component: lazyLoad('./routes/About.vue') }, { path: '*', name: '404', - component: () => import('./routes/NotFound.vue') + component: lazyLoad('./routes/NotFound.vue') } ] From ecb4b1bb7b8033341ed889dee58540b300ca0df1 Mon Sep 17 00:00:00 2001 From: Alexander Janke <33967771+alexanderjanke@users.noreply.github.com> Date: Thu, 11 Jun 2020 13:32:18 +0200 Subject: [PATCH 04/15] Use vue-typecast https://vuejs.org/v2/guide/forms.html#number --- src/routes/tools/BaseConverter.vue | 4 ++-- src/routes/tools/UuidGenerator.vue | 2 +- src/utils/helpers.js | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/tools/BaseConverter.vue b/src/routes/tools/BaseConverter.vue index 298aa799..a6d3b4a1 100644 --- a/src/routes/tools/BaseConverter.vue +++ b/src/routes/tools/BaseConverter.vue @@ -8,7 +8,7 @@ label="Input base" outlined type="number" - v-model="inputBase" + v-model.number="inputBase" ref="inputBase" hide-details="auto" :rules="baseRules" @@ -33,7 +33,7 @@ label="Output base" outlined type="number" - v-model="outputBase" + v-model.number="outputBase" ref="outputBase" :rules="baseRules" /> diff --git a/src/routes/tools/UuidGenerator.vue b/src/routes/tools/UuidGenerator.vue index 5eb5c8b1..d62e00af 100644 --- a/src/routes/tools/UuidGenerator.vue +++ b/src/routes/tools/UuidGenerator.vue @@ -5,7 +5,7 @@ { } const isInt = (value) => { - return Number.isInteger(parseFloat(value)); + return Number.isInteger(value); } export { From 3988d3321862365da2439f78d5a6728f9b36624d Mon Sep 17 00:00:00 2001 From: Corentin THOMASSET Date: Thu, 11 Jun 2020 16:20:36 +0200 Subject: [PATCH 05/15] chore: updated changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3482c59f..846f6d10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Next - [fix] [GithubContributors] ordered contributors by contribution count +- [refactor] used vue-typecasting for number inputs ## 1.2.1 - [fix] [UuidGenerator] added quantity validation rules @@ -25,4 +26,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [fix] remove history move (incompatible with vercel.com) ## 1.0.0 -- First release \ No newline at end of file +- First release From fcc1335f973edc0a57f611fb42f620bff5b52882 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 00:29:44 +0200 Subject: [PATCH 06/15] refactor: removed lazyLoad method Signed-off-by: Corentin Thomasset --- src/router.js | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/router.js b/src/router.js index da8cc6a0..35471805 100644 --- a/src/router.js +++ b/src/router.js @@ -4,8 +4,6 @@ import Home from './routes/Home.vue' Vue.use(VueRouter) -const lazyLoad = (componentPath) => (() => import(componentPath)); - const toolsComponents = [ { title: 'Crypto', @@ -14,7 +12,7 @@ const toolsComponents = [ icon: 'fa-key', text: 'Token generator', path: '/token-generator', - component: lazyLoad('./routes/tools/TokenGenerator'), + component: () => import('./routes/tools/TokenGenerator'), keywords: ['token', 'random', 'string', 'alphanumeric'], description: 'Generate random tokens.' }, @@ -22,14 +20,14 @@ const toolsComponents = [ icon: 'fa-fingerprint', text: 'Uuid generator', path: '/uuid-generator', - component: lazyLoad('./routes/tools/UuidGenerator'), + component: () => import('./routes/tools/UuidGenerator'), keywords: ['token', 'v4', 'string', 'alphanumeric'] }, { icon: 'fa-font', text: 'Hash text', path: '/hash', - component: lazyLoad('./routes/tools/Hash'), + component: () => import('./routes/tools/Hash'), keywords: ['md5', 'sha1', 'sha256', 'sha224', 'sha512', 'sha384', 'sha3', 'ripemd160', 'random'] }, @@ -37,7 +35,7 @@ const toolsComponents = [ icon: 'fa-lock', text: 'Cypher/uncypher text', path: '/cypher', - component: lazyLoad('./routes/tools/TextCypher'), + component: () => import('./routes/tools/TextCypher'), keywords: ['aes', 'tripledes', 'rabbit', 'rabbitlegacy', 'rc4'] }, ], @@ -49,21 +47,21 @@ const toolsComponents = [ icon: 'fa-calendar', text: 'Date/Time converter', path: '/date-converter', - component: lazyLoad('./routes/tools/DateConverter'), + component: () => import('./routes/tools/DateConverter'), keywords: ['locale', 'format', 'iso 8601', 'utc', 'timestamp', 'unix', 'year', 'month', 'day', 'hours', 'minutes', 'seconds'] }, { icon: 'fa-exchange-alt', text: 'Base converter', path: '/base-converter', - component: lazyLoad('./routes/tools/BaseConverter'), + component: () => import('./routes/tools/BaseConverter'), keywords: ['binary', 'hexadecimal', 'decimal'] }, { icon: 'fa-palette', text: 'Color picker/converter', path: '/color-picker-converter', - component: lazyLoad('./routes/tools/ColorConverter'), + component: () => import('./routes/tools/ColorConverter'), keywords: ['rgb', 'rgba', 'hexadecimal', 'hsla', 'red', 'green', 'blue', 'alpha'] }, ], @@ -75,14 +73,14 @@ const toolsComponents = [ icon: 'fa-link', text: 'URL encode/decode', path: '/url-encoder', - component: lazyLoad('./routes/tools/UrlEncoder'), + component: () => import('./routes/tools/UrlEncoder'), keywords: ['%20'] }, { icon: 'fa-file-export', text: 'File to Base64', path: '/file-to-base64', - component: lazyLoad('./routes/tools/FileToBase64') + component: () => import('./routes/tools/FileToBase64') }, ], }, @@ -93,7 +91,7 @@ const toolsComponents = [ icon: 'fa-align-left\n', text: 'Text stats', path: '/text-stats', - component: lazyLoad('./routes/tools/TextStats'), + component: () => import('./routes/tools/TextStats'), keywords: ['word', 'count', 'size', 'bytes', 'length'] }, ], @@ -111,12 +109,12 @@ const routes = [ { path: '/about', name: 'About', - component: lazyLoad('./routes/About.vue') + component: () => import('./routes/About.vue') }, { path: '*', name: '404', - component: lazyLoad('./routes/NotFound.vue') + component: () => import('./routes/NotFound.vue') } ] From 99ffe08d0140d663be09ddd8e41b3c7373d3a939 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 00:31:24 +0200 Subject: [PATCH 07/15] chore: update CHANGELOG.md Signed-off-by: Corentin Thomasset --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 846f6d10..a01cc222 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Next - [fix] [GithubContributors] ordered contributors by contribution count - [refactor] used vue-typecasting for number inputs +- [feat] lazy loading tools routes ## 1.2.1 - [fix] [UuidGenerator] added quantity validation rules From 0631a7f750a38b7acfd4b3ae2000bd1ee56ff916 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 11:03:37 +0200 Subject: [PATCH 08/15] chore: added stuff to roadmap Signed-off-by: Corentin Thomasset --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 057b9eec..9b46cf1a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,9 @@ Here is an unordered list of the current functionalities, and some that may come - [ ] Image cropper - [ ] Image resizer - [ ] HTTP client (w/ axios) +- [ ] Math expression evaluator +- [ ] Math expression graph +- [ ] Markdown editor You have an idea of a tool? Submit a feature request! From 507d961cd8567a96365565aaa894bdcef5318c08 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 19:33:29 +0200 Subject: [PATCH 09/15] feat: added MarkdownEditor.vue Signed-off-by: Corentin Thomasset --- CHANGELOG.md | 1 + package-lock.json | 22 ++++++--- package.json | 2 + src/router.js | 11 ++++- src/routes/tools/MarkdownEditor.vue | 77 +++++++++++++++++++++++++++++ src/utils/helpers.js | 12 ++++- 6 files changed, 116 insertions(+), 9 deletions(-) create mode 100644 src/routes/tools/MarkdownEditor.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index a01cc222..abbbc29d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [fix] [GithubContributors] ordered contributors by contribution count - [refactor] used vue-typecasting for number inputs - [feat] lazy loading tools routes +- [feat] added [markdown editor](/#/markdown-editor) ## 1.2.1 - [fix] [UuidGenerator] added quantity validation rules diff --git a/package-lock.json b/package-lock.json index e99f5c86..25952fac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3139,6 +3139,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "highlight.js": { + "version": "9.18.1", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", + "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", + "dev": true + }, "supports-color": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", @@ -4373,6 +4379,11 @@ "domelementtype": "1" } }, + "dompurify": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.0.11.tgz", + "integrity": "sha512-qVoGPjIW9IqxRij7klDQQ2j6nSe4UNWANBhZNLnsS7ScTtLb+3YdxkRY8brNTpkUiTtcXsCJO+jS0UCDfenLuA==" + }, "domutils": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", @@ -6253,12 +6264,6 @@ "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", "dev": true }, - "highlight.js": { - "version": "9.18.1", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.18.1.tgz", - "integrity": "sha512-OrVKYz70LHsnCgmbXctv/bfuvntIKDz177h0Co37DQ5jamGZLVmoCVMtjMtNZY3X9DrCcKfklHPNeA0uPZhSJg==", - "dev": true - }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -8103,6 +8108,11 @@ "object-visit": "^1.0.0" } }, + "marked": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.0.tgz", + "integrity": "sha512-EkE7RW6KcXfMHy2PA7Jg0YJE1l8UPEZE8k45tylzmZM30/r1M1MUXWQfJlrSbsTeh7m/XTwHbWUENvAJZpp1YA==" + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", diff --git a/package.json b/package.json index b552be8a..97cd7d81 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,8 @@ "color-convert": "^2.0.1", "color-name": "^1.1.4", "core-js": "^3.6.4", + "dompurify": "^2.0.11", + "marked": "^1.1.0", "register-service-worker": "^1.7.1", "roboto-fontface": "*", "vue": "^2.6.11", diff --git a/src/router.js b/src/router.js index 35471805..17cd3e9a 100644 --- a/src/router.js +++ b/src/router.js @@ -85,15 +85,22 @@ const toolsComponents = [ ], }, { - title: 'Miscellaneous', + title: 'Text', child: [ { - icon: 'fa-align-left\n', + icon: 'fa-align-left', text: 'Text stats', path: '/text-stats', component: () => import('./routes/tools/TextStats'), keywords: ['word', 'count', 'size', 'bytes', 'length'] }, + { + icon: 'fab fa-markdown', + text: 'Markdown editor', + path: '/markdown-editor', + component: () => import('./routes/tools/MarkdownEditor'), + keywords: ['text', 'html', 'markdown'] + }, ], } ]; diff --git a/src/routes/tools/MarkdownEditor.vue b/src/routes/tools/MarkdownEditor.vue new file mode 100644 index 00000000..7a19b09c --- /dev/null +++ b/src/routes/tools/MarkdownEditor.vue @@ -0,0 +1,77 @@ + + + + + diff --git a/src/utils/helpers.js b/src/utils/helpers.js index e847c420..f81190bc 100644 --- a/src/utils/helpers.js +++ b/src/utils/helpers.js @@ -28,9 +28,19 @@ const isInt = (value) => { return Number.isInteger(value); } +const debounce = (callback, delay = 300) => { + let timer; + + return function(...args) { + clearTimeout(timer); + timer = setTimeout(() => callback(...args), delay); + } +} + export { copyToClipboard, fileIsImage, formatBytes, - isInt + isInt, + debounce } \ No newline at end of file From 9fc566e55a793289e6bd65548bab68c1710b0752 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 20:52:43 +0200 Subject: [PATCH 10/15] refactor: now using marked for changelog Signed-off-by: Corentin Thomasset --- src/routes/About.vue | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/src/routes/About.vue b/src/routes/About.vue index 511877f8..ab8ac8c9 100644 --- a/src/routes/About.vue +++ b/src/routes/About.vue @@ -11,7 +11,7 @@ - + Contributors @@ -22,12 +22,7 @@ Changelog -
-

{{section.title}}

-
    -
  • {{log}}
  • -
-
+
@@ -39,6 +34,8 @@ import Abstract from "../components/Abstract"; import GithubContributors from "../components/GithubContributors"; import changelog from "../../CHANGELOG.md" + import marked from 'marked' + import DOMPurify from 'dompurify'; export default { name: "About", @@ -46,28 +43,21 @@ changelog: [] }), mounted() { - - this.changelog = ('##' + changelog.replace(/^(.*?)##/s, '')) - .split('\n') - .filter(v => v !== '') - .reduce((sections, v) => { - v = v.trim(); - if(v.startsWith('##')){ - sections.push({ - title: v.replace(/^##/, '').trim(), - logs: [] - }) - }else { - sections.slice(-1)[0].logs.push(v.replace(/^-/, '').trim()) - } - - return sections - }, []); - console.log(this.changelog); + this.changelog = DOMPurify.sanitize(marked('##' + changelog.replace(/^(.*?)##/s, ''))); }, components: { Abstract, GithubContributors }, } - \ No newline at end of file + + + \ No newline at end of file From bf4260f926c27f6bfc89989bbe31aa66c71f5bf0 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 21:01:00 +0200 Subject: [PATCH 11/15] docs: checked markdown editor in roadmap Signed-off-by: Corentin Thomasset --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b46cf1a..3ca0fb92 100644 --- a/README.md +++ b/README.md @@ -15,6 +15,7 @@ Here is an unordered list of the current functionalities, and some that may come - [x] Url encoder - [x] Base 64 generator - [x] Text information +- [x] Markdown editor - [ ] Lorem ipsum text generator - [ ] Image exif editor/remover - [ ] QR code generator @@ -26,7 +27,6 @@ Here is an unordered list of the current functionalities, and some that may come - [ ] HTTP client (w/ axios) - [ ] Math expression evaluator - [ ] Math expression graph -- [ ] Markdown editor You have an idea of a tool? Submit a feature request! From 78157b4cb52eb7f87f21ce2a5a528a94be236a41 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Sun, 14 Jun 2020 21:19:29 +0200 Subject: [PATCH 12/15] feat: fixed icons width in sidebar Signed-off-by: Corentin Thomasset --- src/App.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/App.vue b/src/App.vue index 00327c2b..f338ba17 100644 --- a/src/App.vue +++ b/src/App.vue @@ -17,7 +17,7 @@ - {{ item.icon }} + {{ item.icon }} From 46514cf71b705e3e00490736470fad4fc8b1fae4 Mon Sep 17 00:00:00 2001 From: Corentin Thomasset Date: Mon, 15 Jun 2020 22:06:24 +0200 Subject: [PATCH 13/15] feat: fixed icons width in sidebar Signed-off-by: Corentin Thomasset --- CHANGELOG.md | 1 + README.md | 2 +- src/App.vue | 50 ++++++++++--- src/router.js | 7 ++ src/routes/tools/LoremIpsumGenerator.vue | 94 ++++++++++++++++++++++++ src/utils/helpers.js | 8 +- 6 files changed, 149 insertions(+), 13 deletions(-) create mode 100644 src/routes/tools/LoremIpsumGenerator.vue diff --git a/CHANGELOG.md b/CHANGELOG.md index abbbc29d..ad50b798 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - [refactor] used vue-typecasting for number inputs - [feat] lazy loading tools routes - [feat] added [markdown editor](/#/markdown-editor) +- [feat] added [lorem ipsum generator](/#/lorem-ipsum-generator) ## 1.2.1 - [fix] [UuidGenerator] added quantity validation rules diff --git a/README.md b/README.md index 3ca0fb92..d2bb00e8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Aggregated set of useful tools that every developer may need once in a while. Available [here](https://it-tools.tech). -## Functionality/roadmap +## Functionalities roadmap Here is an unordered list of the current functionalities, and some that may come. - [x] Token generator diff --git a/src/App.vue b/src/App.vue index f338ba17..e6b84fa3 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,14 +1,15 @@