From a0ca8d9c689f6ca01af79bf41fd41a22acbdb095 Mon Sep 17 00:00:00 2001 From: stuzer05 Date: Thu, 3 Oct 2024 15:34:25 +0300 Subject: [PATCH] Add htaccess generator tool --- bun.lockb | Bin 117328 -> 119433 bytes package.json | 3 + src/components/Sidebar.vue | 1 + src/router/index.js | 5 ++ src/views/general/HtaccessGenerator.vue | 87 ++++++++++++++++++++++++ 5 files changed, 96 insertions(+) create mode 100644 src/views/general/HtaccessGenerator.vue diff --git a/bun.lockb b/bun.lockb index b20235a4ee70f4dd119fddb423ca2bd22157b4e7..fa1aff09362d5b9ed1614c75b7dafdf248903072 100755 GIT binary patch delta 14704 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 delta 13581 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 Gq5logq6BOJ diff --git a/package.json b/package.json index 392bf61..21d2fcc 100644 --- a/package.json +++ b/package.json @@ -11,12 +11,15 @@ "@monaco-editor/loader": "^1.4.0", "autoprefixer": "^10.4.19", "axios": "^1.6.0", + "bcryptjs": "^2.4.3", "cronstrue": "^2.50.0", "easyqrcodejs": "^4.6.1", + "md5": "^2.3.0", "mitt": "^3.0.1", "moment": "^2.30.1", "pinia": "^2.1.7", "postcss": "^8.4.39", + "sha1": "^1.1.1", "sql-formatter": "^15.3.2", "tailwindcss": "^3.4.4", "vue": "^3.4.31", diff --git a/src/components/Sidebar.vue b/src/components/Sidebar.vue index 4e19697..465beff 100644 --- a/src/components/Sidebar.vue +++ b/src/components/Sidebar.vue @@ -45,6 +45,7 @@ export default { 'qr_code': 'QR code', 'unix_timestamp': 'Unix timestamp', 'sed_generator': 'Sed generator', + 'htaccess_generator': '.htaccess generator', }, 'Strings': { 'fix_ru_en_keyboard': 'Fix ru-en keyboard', diff --git a/src/router/index.js b/src/router/index.js index 8273843..f762863 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,6 +56,11 @@ const router = createRouter({ name: 'sed_generator', component: () => import('../views/general/SedGenerator.vue'), }, + { + path: '/htaccess_generator', + name: 'htaccess_generator', + component: () => import('../views/general/HtaccessGenerator.vue'), + }, /** * String manipulation diff --git a/src/views/general/HtaccessGenerator.vue b/src/views/general/HtaccessGenerator.vue new file mode 100644 index 0000000..7a5170f --- /dev/null +++ b/src/views/general/HtaccessGenerator.vue @@ -0,0 +1,87 @@ + + + + + \ No newline at end of file