├── dailyUseTools
├── notes
│ ├── notes.css
│ ├── notes-Tool.png
│ └── notes.js
├── morseConverter
│ ├── morse.png
│ └── morse.js
├── dailyUseTool.md
├── compass
│ ├── images
│ │ ├── Compass_pc.png
│ │ ├── compass_dial.png
│ │ └── Compass_mobile.jpeg
│ ├── compassStylesheet.css
│ ├── CompassMain.js
│ └── Compass.html
├── passwordGenerator
│ └── passwordGenerator.PNG
└── bmicalculator
│ └── bmi-calculator-Screenshot.png
├── conversionTools
├── conversionTools.md
├── length
│ ├── length.png
│ ├── length.css
│ └── length.html
├── power
│ ├── preview.png
│ └── power.css
├── Torque
│ ├── preview.png
│ └── torque.css
├── weight
│ ├── preview.png
│ ├── weight.css
│ └── weight.js
├── density
│ ├── Screenshot.png
│ ├── density.js
│ └── density.css
├── fuelEfficiency
│ ├── fec.PNG
│ ├── fuel.css
│ ├── fuel.js
│ └── fuel.html
├── pressure
│ ├── preview.png
│ └── pressure.css
├── resistance
│ ├── preview.png
│ └── resistance.css
├── imagePdf
│ ├── imageToPdf.png
│ ├── imagePdf.css
│ └── imagePdf.js
├── image
│ ├── image-converter.png
│ ├── image.css
│ └── image.js
├── temperture
│ ├── previewimg.png
│ ├── temperture.js
│ └── temperture.css
├── speed
│ ├── screenshot_tool_speed.png
│ ├── speed.css
│ └── speed.js
├── storage
│ ├── Screenshot_storage.jpg
│ └── storage.css
├── Angle_Conversion
│ ├── output_Screenshot.png
│ ├── angleconversion.js
│ └── angleconversion.css
├── currency
│ ├── currency.js
│ └── currency.css
├── Energy
│ ├── energy.css
│ └── energy.js
└── frequency
│ ├── frequency.js
│ └── frequency.css
├── mathmeticalTools
├── mathmeticalTool.md
├── ratio
│ ├── preview.png
│ ├── ratio.js
│ └── ratio.css
├── volume
│ ├── preview.png
│ └── volume.css
├── quadratic
│ ├── preview.png
│ ├── quadratic.js
│ └── quadratic.css
├── numberBase
│ └── preview.png
├── LinearEquation
│ ├── Timber.jpg
│ ├── screenshotOfPage.png
│ ├── linearEquation.css
│ ├── linearEquation.js
│ └── linearEquation.html
├── proportions
│ ├── proportions.png
│ ├── proportions.css
│ ├── proportions.js
│ └── proportions.html
├── decimalToFraction
│ ├── preview.png
│ ├── decimalToFraction.js
│ └── decimalToFraction.css
├── GCD_HCF_LCM_Calculator
│ ├── Working.png
│ ├── Alert (wrong input).png
│ ├── gcd_hcf_lcm_calc.css
│ └── gcd_hcf_lcm_calc.js
├── percentageCalculator
│ ├── Percentage1.png
│ ├── Percentage2.png
│ ├── percentageCalculator.js
│ └── percentageCalculator.css
├── numberSeriesGenerator
│ ├── numberSeriesGenerator.png
│ └── numberSeriesGenerator.css
├── romanNumerals
│ ├── romanNumerals.css
│ └── romanNumerals.js
├── scientific-calcuator
│ ├── sci-calc.css
│ ├── sci-calc.js
│ └── sci-calc.html
└── cubicEquation
│ └── cubicEquation.css
├── favicon.ico
├── assets
├── img
│ ├── p1.jpg
│ ├── p2.jpg
│ ├── pg.jpg
│ ├── .DS_Store
│ ├── blank.jpg
│ ├── house.gif
│ ├── utility.png
│ └── utility-1.png
├── scripts
│ ├── app.js
│ └── templates.js
├── config
│ └── categories.js
└── styles
│ ├── style.css
│ └── contributor.css
├── financeTools
├── financeTools.md
├── emiCalculator
│ └── emi-calculator.png
├── service-tax-calculator
│ ├── screenshort-1.png
│ ├── screenshort-2.png
│ ├── style.css
│ └── tools.html
├── stock-return-calculator
│ ├── stock-return-calculator.png
│ ├── stockreturn.js
│ ├── stockreturn.css
│ └── stockreturn.html
├── compound-interest-calculator
│ ├── compoundinterestcalculator.png
│ ├── compoundinterestcalculator.js
│ └── compoundinterestcalculator.css
├── mortgageCalculator
│ ├── mortgageCalc.css
│ ├── mortgageCalc.js
│ └── mortgageCalc.html
├── discountcalculator
│ ├── discount.js
│ └── discount.css
└── retirementcalaculator
│ └── retirement.js
├── .gitignore
├── package.json
├── boilerplate.template
└── CONTRIBUTING.md
/dailyUseTools/notes/notes.css:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/conversionTools/conversionTools.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/mathmeticalTools/mathmeticalTool.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/favicon.ico
--------------------------------------------------------------------------------
/assets/img/p1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/p1.jpg
--------------------------------------------------------------------------------
/assets/img/p2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/p2.jpg
--------------------------------------------------------------------------------
/assets/img/pg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/pg.jpg
--------------------------------------------------------------------------------
/assets/img/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/.DS_Store
--------------------------------------------------------------------------------
/assets/img/blank.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/blank.jpg
--------------------------------------------------------------------------------
/assets/img/house.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/house.gif
--------------------------------------------------------------------------------
/assets/img/utility.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/utility.png
--------------------------------------------------------------------------------
/financeTools/financeTools.md:
--------------------------------------------------------------------------------
1 | # retirement calculator
2 | A simple easy to use retirement calculator
--------------------------------------------------------------------------------
/assets/img/utility-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/assets/img/utility-1.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # IDE config
2 | .idea/
3 | .vscode/
4 |
5 | # dependencies
6 | node_modules/
7 |
8 | revert
--------------------------------------------------------------------------------
/conversionTools/length/length.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/length/length.png
--------------------------------------------------------------------------------
/conversionTools/power/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/power/preview.png
--------------------------------------------------------------------------------
/conversionTools/Torque/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/Torque/preview.png
--------------------------------------------------------------------------------
/conversionTools/weight/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/weight/preview.png
--------------------------------------------------------------------------------
/dailyUseTools/notes/notes-Tool.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/notes/notes-Tool.png
--------------------------------------------------------------------------------
/mathmeticalTools/ratio/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/ratio/preview.png
--------------------------------------------------------------------------------
/mathmeticalTools/volume/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/volume/preview.png
--------------------------------------------------------------------------------
/conversionTools/density/Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/density/Screenshot.png
--------------------------------------------------------------------------------
/conversionTools/fuelEfficiency/fec.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/fuelEfficiency/fec.PNG
--------------------------------------------------------------------------------
/conversionTools/pressure/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/pressure/preview.png
--------------------------------------------------------------------------------
/conversionTools/resistance/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/resistance/preview.png
--------------------------------------------------------------------------------
/dailyUseTools/morseConverter/morse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/morseConverter/morse.png
--------------------------------------------------------------------------------
/mathmeticalTools/quadratic/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/quadratic/preview.png
--------------------------------------------------------------------------------
/conversionTools/imagePdf/imageToPdf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/imagePdf/imageToPdf.png
--------------------------------------------------------------------------------
/dailyUseTools/dailyUseTool.md:
--------------------------------------------------------------------------------
1 | [BMI](dailyUseTools/bmicalculator/)
2 |
3 | [password generator](dailyUseTools/passwordGenerator/)
4 |
--------------------------------------------------------------------------------
/mathmeticalTools/numberBase/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/numberBase/preview.png
--------------------------------------------------------------------------------
/conversionTools/image/image-converter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/image/image-converter.png
--------------------------------------------------------------------------------
/conversionTools/temperture/previewimg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/temperture/previewimg.png
--------------------------------------------------------------------------------
/dailyUseTools/compass/images/Compass_pc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/compass/images/Compass_pc.png
--------------------------------------------------------------------------------
/mathmeticalTools/LinearEquation/Timber.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/LinearEquation/Timber.jpg
--------------------------------------------------------------------------------
/dailyUseTools/compass/images/compass_dial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/compass/images/compass_dial.png
--------------------------------------------------------------------------------
/financeTools/emiCalculator/emi-calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/emiCalculator/emi-calculator.png
--------------------------------------------------------------------------------
/mathmeticalTools/proportions/proportions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/proportions/proportions.png
--------------------------------------------------------------------------------
/conversionTools/speed/screenshot_tool_speed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/speed/screenshot_tool_speed.png
--------------------------------------------------------------------------------
/conversionTools/storage/Screenshot_storage.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/storage/Screenshot_storage.jpg
--------------------------------------------------------------------------------
/dailyUseTools/compass/images/Compass_mobile.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/compass/images/Compass_mobile.jpeg
--------------------------------------------------------------------------------
/mathmeticalTools/decimalToFraction/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/decimalToFraction/preview.png
--------------------------------------------------------------------------------
/dailyUseTools/passwordGenerator/passwordGenerator.PNG:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/passwordGenerator/passwordGenerator.PNG
--------------------------------------------------------------------------------
/financeTools/service-tax-calculator/screenshort-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/service-tax-calculator/screenshort-1.png
--------------------------------------------------------------------------------
/financeTools/service-tax-calculator/screenshort-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/service-tax-calculator/screenshort-2.png
--------------------------------------------------------------------------------
/mathmeticalTools/GCD_HCF_LCM_Calculator/Working.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/GCD_HCF_LCM_Calculator/Working.png
--------------------------------------------------------------------------------
/mathmeticalTools/LinearEquation/screenshotOfPage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/LinearEquation/screenshotOfPage.png
--------------------------------------------------------------------------------
/mathmeticalTools/percentageCalculator/Percentage1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/percentageCalculator/Percentage1.png
--------------------------------------------------------------------------------
/mathmeticalTools/percentageCalculator/Percentage2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/percentageCalculator/Percentage2.png
--------------------------------------------------------------------------------
/conversionTools/Angle_Conversion/output_Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/conversionTools/Angle_Conversion/output_Screenshot.png
--------------------------------------------------------------------------------
/dailyUseTools/bmicalculator/bmi-calculator-Screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/dailyUseTools/bmicalculator/bmi-calculator-Screenshot.png
--------------------------------------------------------------------------------
/mathmeticalTools/GCD_HCF_LCM_Calculator/Alert (wrong input).png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/GCD_HCF_LCM_Calculator/Alert (wrong input).png
--------------------------------------------------------------------------------
/financeTools/stock-return-calculator/stock-return-calculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/stock-return-calculator/stock-return-calculator.png
--------------------------------------------------------------------------------
/mathmeticalTools/numberSeriesGenerator/numberSeriesGenerator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/mathmeticalTools/numberSeriesGenerator/numberSeriesGenerator.png
--------------------------------------------------------------------------------
/financeTools/compound-interest-calculator/compoundinterestcalculator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/codeezzi/utility/HEAD/financeTools/compound-interest-calculator/compoundinterestcalculator.png
--------------------------------------------------------------------------------
/assets/scripts/app.js:
--------------------------------------------------------------------------------
1 | /*
2 | * General App Scrips
3 | * Notice: Only general scripts should be placed here
4 | * Created by Negar Jamalifard
5 | * */
6 |
7 | $(document).ready(function () {
8 | const template = new Templates();
9 |
10 | template.appendNavItems();
11 | });
12 |
--------------------------------------------------------------------------------
/mathmeticalTools/romanNumerals/romanNumerals.css:
--------------------------------------------------------------------------------
1 | /*
2 | *----------------------------------------------------------------
3 | * SITE HEADER
4 | *----------------------------------------------------------------
5 | */
6 | .site-header {
7 | background-color: rgba(0, 0, 0, 0.85);
8 | -webkit-backdrop-filter: saturate(180%) blur(20px);
9 | backdrop-filter: saturate(180%) blur(20px);
10 | }
--------------------------------------------------------------------------------
/conversionTools/fuelEfficiency/fuel.css:
--------------------------------------------------------------------------------
1 | .title {
2 | text-align: center;
3 | padding: 20px;
4 | }
5 |
6 | #content {
7 | margin: 0 auto;
8 | width: 50%;
9 | text-align: center;
10 | }
11 |
12 | .site-header{
13 | background-color: rgba(0, 0, 0, .85);
14 | -webkit-backdrop-filter: saturate(180%) blur(20px);
15 | backdrop-filter: saturate(180%) blur(20px);
16 | }
17 |
18 | input {
19 | width: 80px;
20 | }
21 |
22 | .total {
23 | font-weight: bold;
24 | }
25 |
26 | .btn-btn {
27 | background-color: blueviolet;
28 | color: white;
29 | }
--------------------------------------------------------------------------------
/assets/config/categories.js:
--------------------------------------------------------------------------------
1 | // Globally available variable
2 | const UTILITY_CATEGORIES = {
3 | "conversionTools": {
4 | "title": "Conversion Tools",
5 | "icon": "fa-balance-scale"
6 | },
7 | "dailyUseTools": {
8 | "title": "Daily Use Tools",
9 | "icon": "fa-puzzle-piece"
10 | },
11 | "financeTools": {
12 | "title": "Finance Tools",
13 | "icon": "fa-money"
14 | },
15 | "mathmeticalTools": {
16 | "title": "Mathematical Tools",
17 | "icon": "fa-calculator"
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/conversionTools/fuelEfficiency/fuel.js:
--------------------------------------------------------------------------------
1 | function calculateMPG() {
2 | var miles = document.getElementById("miles").value;
3 | var gallons = document.getElementById("gallons").value;
4 | console.log(mpgs);
5 |
6 |
7 | if (miles < 0) {
8 | document.getElementById("miles").innerHTML = "";
9 | }
10 | else if (gallons < 0) {
11 | document.getElementById("gallons").innerHTML = "";
12 | }
13 | else {
14 | var mpg = miles / gallons;
15 |
16 | document.getElementById("mpgs").innerHTML = mpg.toFixed(2);
17 | console.log(mpgs);
18 | }
19 | }
--------------------------------------------------------------------------------
/conversionTools/Angle_Conversion/angleconversion.js:
--------------------------------------------------------------------------------
1 | /* When the input field receives input, convert the value from degree to radians pi/180 */
2 | function degangleConverter(valNum) {
3 | valNum = parseFloat(valNum);
4 | document.getElementById("outputRadian").innerHTML = valNum * 0.01745329;
5 | }
6 |
7 | /* When the input field receives input, convert the value from radians to degrees 180/pi */
8 | function radangleConverter(valNum) {
9 | valNum = parseFloat(valNum);
10 | document.getElementById("outputDegree").innerHTML = valNum * 57.29577;
11 | }
--------------------------------------------------------------------------------
/financeTools/compound-interest-calculator/compoundinterestcalculator.js:
--------------------------------------------------------------------------------
1 | function compoundInterest() {
2 | var p = parseInt(document.getElementById("principal").value);
3 | var r = parseInt(document.getElementById("rate").value);
4 | var t = parseInt(document.getElementById("time").value);
5 | var n = parseInt(document.getElementById("part").value);
6 |
7 | var power = n * t;
8 | var brack = (1 + (r / (100 * n)));
9 | var amount = p * (brack ** power);
10 | var ci = amount - p;
11 |
12 | var res = document.getElementById("final-amount");
13 | res.value = amount;
14 | var val = document.getElementById("compound");
15 | val.value = ci;
16 | }
--------------------------------------------------------------------------------
/financeTools/stock-return-calculator/stockreturn.js:
--------------------------------------------------------------------------------
1 | function StockReturn() {
2 | var p0 = parseInt(document.getElementById("intialprice").value);
3 | var p1 = parseInt(document.getElementById("endingprice").value);
4 | var D = parseInt(document.getElementById("dividends").value);
5 | var t =parseInt(document.getElementById("time").value);
6 |
7 |
8 | var diff = p1-p0;
9 | var result1 = diff+D;
10 | result1=result1/p0;
11 | result1=result1*100;
12 |
13 | var result2;
14 | var divi=p1/p0;
15 | var exp=1/t;
16 | divi=Math.pow(divi,exp);
17 | result2=divi-1;
18 | result2=result2*100;
19 |
20 | var val1 = document.getElementById("stockreturnvalue");
21 | val1.value = result1;
22 |
23 | var val2 = document.getElementById("compoundgrowth");
24 | val2.value=result2;
25 | }
--------------------------------------------------------------------------------
/financeTools/stock-return-calculator/stockreturn.css:
--------------------------------------------------------------------------------
1 | .container1 {
2 | padding-left: 200px;
3 | padding-right: 200px;
4 | }
5 |
6 | .calculator-stockreturn {
7 | padding-left: 250px;
8 | padding-top: 20px;
9 | padding-right: 250px;
10 | padding-bottom: 50px;
11 | }
12 |
13 | .inputs {
14 | padding: 10px;
15 | }
16 |
17 | .outputs {
18 | padding: 10px;
19 | }
20 |
21 | label {
22 | padding-right: 20px;
23 | }
24 |
25 | input {
26 | padding: 10px;
27 | border-radius: 5em;
28 | border: 3px solid #0a0600;
29 | float: right;
30 | }
31 |
32 | .btn-calculate {
33 | color: antiquewhite;
34 | margin: 10px;
35 | width: 100%;
36 | padding: 20px;
37 | text-align: center;
38 | border-radius: 15em;
39 | background-color: #1d1ace;
40 | border: 5px solid #0a0600;
41 | }
42 |
--------------------------------------------------------------------------------
/financeTools/compound-interest-calculator/compoundinterestcalculator.css:
--------------------------------------------------------------------------------
1 | .container1 {
2 | padding-left: 200px;
3 | padding-right: 200px;
4 | }
5 |
6 | .calculator-compound {
7 | padding-left: 250px;
8 | padding-top: 20px;
9 | padding-right: 250px;
10 | padding-bottom: 50px;
11 | }
12 |
13 | .inputs {
14 | padding: 10px;
15 | }
16 |
17 | .outputs {
18 | padding: 10px;
19 | }
20 |
21 | label {
22 | padding-right: 20px;
23 | }
24 |
25 | input {
26 | padding: 10px;
27 | border-radius: 5em;
28 | border: 1px solid #df8714;
29 | float: right;
30 | }
31 |
32 | .btn-calculate {
33 | color: antiquewhite;
34 | margin: 10px;
35 | width: 100%;
36 | padding: 20px;
37 | text-align: center;
38 | border-radius: 15em;
39 | background-color: #ce4d1a;
40 | border: 2px solid #df8714;
41 | }
42 |
--------------------------------------------------------------------------------
/mathmeticalTools/decimalToFraction/decimalToFraction.js:
--------------------------------------------------------------------------------
1 | MathJax.Hub.Config({
2 | extensions: ["tex2jax.js"],
3 | "HTML-CSS": { scale: 100}
4 | });
5 |
6 |
7 | // function convertToFraction(){
8 | // var decimal = document.getElementById("decimal").value;
9 | // document.getElementById("ans1").innerHTML = decimal;
10 | // }
11 |
12 | function gcd(a, b) {
13 | return (b) ? gcd(b, a % b) : a;
14 | }
15 |
16 | function convertToFraction() {
17 | var decimal = document.getElementById("decimal").value;
18 | var top = decimal.toString().replace(/\d+[.]/, '');
19 | var bottom = Math.pow(10, top.length);
20 | if (decimal > 1) {
21 | top = +top + Math.floor(decimal) * bottom;
22 | }
23 | var x = gcd(top, bottom);
24 | document.getElementById("top").innerHTML = (top / x)+"/";
25 | document.getElementById("bottom").innerHTML = (bottom / x);
26 | };
--------------------------------------------------------------------------------
/conversionTools/image/image.css:
--------------------------------------------------------------------------------
1 | .dropzone-wrapper {
2 | border: 2px dashed #91b0b3;
3 | color: #92b0b3;
4 | position: relative;
5 | height: 150px;
6 | }
7 |
8 | .dropzone-desc {
9 | position: absolute;
10 | margin: 0 auto;
11 | left: 0;
12 | right: 0;
13 | text-align: center;
14 | width: 70%;
15 | top: 25px;
16 | }
17 |
18 | .dropzone,
19 | .dropzone:focus {
20 | position: absolute;
21 | outline: none !important;
22 | width: 100%;
23 | height: 150px;
24 | cursor: pointer;
25 | opacity: 0;
26 | }
27 |
28 | .dropzone-wrapper:hover,
29 | .dropzone-wrapper.dragover {
30 | background: #ecf0f5;
31 | }
32 |
33 | .preview-zone {
34 | text-align: center;
35 | }
36 |
37 | .preview-zone img{
38 | width: 75%;
39 | }
40 |
41 | .preview-zone .box {
42 | box-shadow: none;
43 | border-radius: 0;
44 | margin-bottom: 0;
45 | }
46 |
47 | .hidden{
48 | display: none;
49 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "utility",
3 | "version": "1.0.0",
4 | "description": "Utility is meant to be a simple easy to use unit conversion website plus bunch of utility tools. This will be a static website made completly from HTML,CSS and Javascript or any other Frontend Framwork.",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1"
8 | },
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/codeezzi/utility.git"
12 | },
13 | "author": "Shubham Goswami",
14 | "license": "ISC",
15 | "bugs": {
16 | "url": "https://github.com/codeezzi/utility/issues"
17 | },
18 | "homepage": "https://github.com/codeezzi/utility#readme",
19 | "devDependencies": {
20 | "git-scripts": "^0.4.3",
21 | "surge": "^0.21.6"
22 | },
23 | "git": {
24 | "scripts": {
25 | "pre-push": "surge --project ./ --domain codeezzi-utility.surge.sh"
26 | }
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/conversionTools/imagePdf/imagePdf.css:
--------------------------------------------------------------------------------
1 | .dropzone-wrapper {
2 | border: 2px dashed #91b0b3;
3 | color: #92b0b3;
4 | position: relative;
5 | height: 150px;
6 | }
7 |
8 | .dropzone-desc {
9 | position: absolute;
10 | margin: 0 auto;
11 | left: 0;
12 | right: 0;
13 | text-align: center;
14 | width: 70%;
15 | top: 25px;
16 | }
17 |
18 | .dropzone,
19 | .dropzone:focus {
20 | position: absolute;
21 | outline: none !important;
22 | width: 100%;
23 | height: 150px;
24 | cursor: pointer;
25 | opacity: 0;
26 | }
27 |
28 | .dropzone-wrapper:hover,
29 | .dropzone-wrapper.dragover {
30 | background: #ecf0f5;
31 | }
32 |
33 | .preview-zone {
34 | text-align: center;
35 | }
36 |
37 | .preview-zone img{
38 | width: 75%;
39 | }
40 | .preview-zone svg{
41 | width: 75%;
42 | height: auto;
43 | }
44 | .preview-zone .box {
45 | box-shadow: none;
46 | border-radius: 0;
47 | margin-bottom: 0;
48 | }
49 |
50 | .hidden{
51 | display: none;
52 | }
--------------------------------------------------------------------------------
/financeTools/mortgageCalculator/mortgageCalc.css:
--------------------------------------------------------------------------------
1 | div{
2 | text-align: center;
3 | }
4 |
5 | nav {
6 | background-color: black;
7 | }
8 |
9 | img {
10 | height: auto;
11 | width: 250px;
12 | }
13 |
14 | td {
15 | padding-top: 4%;
16 | }
17 |
18 | table {
19 | margin: 0 auto;
20 | }
21 |
22 |
23 | #apr, #amt {
24 | border-radius: 25px;
25 | }
26 |
27 |
28 | .calculator {
29 | width: 50%;
30 | height: auto;
31 | margin: 0 auto;
32 | }
33 |
34 |
35 | .myButton {
36 | box-shadow:inset 0px 1px 0px 0px #ffffff;
37 | background:linear-gradient(to bottom, #ededed 5%, #dfdfdf 100%);
38 | background-color:#ededed;
39 | border-radius:9px;
40 | border:1px solid #dcdcdc;
41 | display:inline-block;
42 | cursor:pointer;
43 | color:#8a8a8a;
44 | font-family:Arial;
45 | font-size:15px;
46 | font-weight:bold;
47 | padding:6px 24px;
48 | text-decoration:none;
49 | text-shadow:0px 1px 0px #ffffff;
50 | }
51 | .myButton:hover {
52 | background:linear-gradient(to bottom, #dfdfdf 5%, #ededed 100%);
53 | background-color:#dfdfdf;
54 | }
55 | .myButton:active {
56 | position:relative;
57 | top:1px;
58 | }
59 |
60 |
--------------------------------------------------------------------------------
/financeTools/discountcalculator/discount.js:
--------------------------------------------------------------------------------
1 | function findPart(){
2 | var tot = document.getElementById("tot1").value;
3 | var perc = document.getElementById("perc1").value;
4 | if(perc<0){
5 | document.getElementById("error").innerHTML = "Please provide a positive discount value";
6 | document.getElementById("ans1").innerHTML = "";
7 | document.getElementById("saved").innerHTML = "";
8 | }
9 |
10 | else if(tot<0){
11 | document.getElementById("error").innerHTML = "Price before discount can't be negative ";
12 | document.getElementById("ans1").innerHTML = "";
13 | document.getElementById("saved").innerHTML = "";
14 | }
15 |
16 | else if(perc>100){
17 | document.getElementById("error").innerHTML = "Please enter a discount less than or equal to 100";
18 | document.getElementById("ans1").innerHTML = "";
19 | document.getElementById("saved").innerHTML = "";
20 | }
21 | else{
22 | var ans = (tot * perc) / 100;
23 | document.getElementById("error").innerHTML = "";
24 | document.getElementById("ans1").innerHTML = (tot - ans).toFixed(2);
25 | document.getElementById("saved").innerHTML = ans.toFixed(2);
26 | }
27 | }
--------------------------------------------------------------------------------
/mathmeticalTools/romanNumerals/romanNumerals.js:
--------------------------------------------------------------------------------
1 | function toRomanNum() {
2 | let num_value = parseInt(document.getElementById("numeric_value").value);
3 | let resultContainer = document.getElementById("result_container");
4 |
5 | if (resultContainer.innerText !== "") {
6 | resultContainer.innerText = "";
7 | }
8 | if (isNaN(num_value)) {
9 | $("#exampleModal").modal("show");
10 | }
11 |
12 | const romanObj = {
13 | 1000: "M",
14 | 900: "CM",
15 | 500: "D",
16 | 400: "CD",
17 | 100: "C",
18 | 90: "XC",
19 | 50: "L",
20 | 40: "XL",
21 | 10: "X",
22 | 9: "IX",
23 | 5: "V",
24 | 4: "IV",
25 | 1: "I"
26 | };
27 | const keys = Object.keys(romanObj).sort((a, b) => b - a);
28 | let output = "";
29 |
30 | function innerLoop() {
31 | for (var i = 0; i < keys.length; i++) {
32 | if (num_value >= keys[i]) {
33 | output += romanObj[keys[i]];
34 | num_value -= keys[i];
35 | return;
36 | }
37 | }
38 | }
39 | while (num_value > 0) {
40 | innerLoop();
41 | }
42 | return (resultContainer.innerText = output);
43 | }
44 |
45 | const targetButton = document.getElementById("convert_button");
46 | targetButton.addEventListener("click", toRomanNum);
47 |
--------------------------------------------------------------------------------
/mathmeticalTools/proportions/proportions.css:
--------------------------------------------------------------------------------
1 | body {
2 | background: #b6e8f593;
3 | font-family: 'Questrial', sans-serif;
4 | margin: 0;
5 | }
6 | h1 {
7 | font-size: 50px;
8 | font-family: cursive;
9 | font-weight: bolder;
10 | }
11 |
12 | .heading{
13 | margin-bottom: 50px;
14 | }
15 | .calc {
16 | display: flex;
17 | align-items: center;
18 | justify-content: center;
19 | flex-direction: column;
20 | height: 100vh;
21 | width: 100%;
22 | }
23 | .calc-inner {
24 | background-color: #a2e3f3;
25 | border-radius: 12px;
26 | padding: 30px;
27 | }
28 | .calc-inner input {
29 | color: #4d4d4d;
30 | border: 0;
31 | border-radius: 4px;
32 | height: 28px;
33 | font-family: 'Questrial', sans-serif;
34 | font-size: 18px;
35 | font-weight: 600;
36 | letter-spacing: 0.72px;
37 | margin: 12px;
38 | padding: 0 6px;
39 | width: 68px;
40 | }
41 | .calc-inner > div span:nth-of-type(1) {
42 | display: inline-block;
43 | width: 40px;
44 | text-align: right;
45 | }
46 | .checkround {
47 | align-items: center;
48 | justify-content: center;
49 | display: flex;
50 | }
51 | .checkround p {
52 | margin: 0;
53 | }
54 | .checkround input {
55 | height: 20px;
56 | width: 20px;
57 | }
--------------------------------------------------------------------------------
/conversionTools/currency/currency.js:
--------------------------------------------------------------------------------
1 | const from_currencyEl = document.getElementById("from_currency");
2 | const from_ammountEl = document.getElementById("from_ammount");
3 | const to_currencyEl = document.getElementById("to_currency");
4 | const to_ammountEl = document.getElementById("to_ammount");
5 | const rateEl = document.getElementById("rate");
6 | const exchange = document.getElementById("exchange");
7 |
8 | from_currencyEl.addEventListener("change", calculate);
9 | from_ammountEl.addEventListener("input", calculate);
10 | to_currencyEl.addEventListener("change", calculate);
11 | to_ammountEl.addEventListener("input", calculate);
12 |
13 | exchange.addEventListener("click", () => {
14 | const temp = from_currencyEl.value;
15 | from_currencyEl.value = to_currencyEl.value;
16 | to_currencyEl.value = temp;
17 | calculate();
18 | });
19 |
20 | function calculate() {
21 | const from_currency = from_currencyEl.value;
22 | const to_currency = to_currencyEl.value;
23 |
24 | fetch(`https://api.exchangerate-api.com/v4/latest/${from_currency}`)
25 | .then((res) => res.json())
26 | .then((res) => {
27 | const rate = res.rates[to_currency];
28 | rateEl.innerText = `1 ${from_currency} = ${rate} ${to_currency}`;
29 | to_ammountEl.value = (from_ammountEl.value * rate).toFixed(2);
30 | });
31 | }
32 |
33 | calculate();
34 |
--------------------------------------------------------------------------------
/mathmeticalTools/proportions/proportions.js:
--------------------------------------------------------------------------------
1 | var numInputs = document.querySelectorAll(".typenum");
2 | numInputs.forEach(function (el) {
3 | el.oninput = inputNum;
4 | });
5 | document.querySelector('.checkround input').onclick = calculate;
6 | calculate();
7 | function inputNum() {
8 | var num = this.value.replace(/\D+/g, '') * 1;
9 | if (num > 9999) {
10 | this.value = 9999
11 | } else if (num == '' || isNaN(num)) {
12 | this.value = ''
13 | } else {
14 | this.value = num;
15 | }
16 | if (!this.value) {
17 | document.querySelector('.resultnum').value = '';
18 | }
19 | calculate();
20 | }
21 | function calculate() {
22 | var valA = numInputs[0].value;
23 | var valB = numInputs[1].value;
24 | var valC = numInputs[2].value;
25 | var valD = numInputs[3].value;
26 | var valE = numInputs[4].value;
27 | var valF = document.querySelector('.resultnum');
28 |
29 | if (!valA || !valB || !valC || !valD || !valE) {
30 | return;
31 | } else {
32 | var numX = (valA - valC) / (valB - valD);
33 | var numY = valA - (valB * numX);
34 | var result = (valE - numY) / numX;
35 | if (document.querySelector('.checkround input').checked) {
36 | valF.value = Math.round(result);
37 | } else {
38 | valF.value = result;
39 | }
40 | }
41 | }
--------------------------------------------------------------------------------
/mathmeticalTools/LinearEquation/linearEquation.css:
--------------------------------------------------------------------------------
1 |
2 | body{
3 | background-image:url("Timber.jpg");
4 | color: white;
5 | margin:0;
6 | font-family: "Montserrat", "Avenir";
7 | }
8 |
9 | .color{
10 | width: 30%;
11 | background: blue;
12 | float: left;
13 | margin:1.66%;
14 | padding-bottom: 30%;
15 | border-radius: 15%;
16 | transition: background 0.3s;
17 | }
18 |
19 | #heading{
20 | margin-top:20px;
21 | text-align: center;
22 | }
23 |
24 | #special{
25 | font-size: 150%;
26 | }
27 |
28 | h1{
29 | text-transform: uppercase;
30 | font-weight: 10;
31 | line-height: 1.1;
32 | padding-top: 20px;
33 | }
34 |
35 | .selected{
36 | color: white;
37 | background-color:#07689f;
38 | transition: all 0.3s;
39 | }
40 |
41 | button{
42 | border: 2px solid black;
43 | background: none;
44 | height: 100%;
45 | font-weight: 700;
46 | font-size: inherit;
47 | text-transform: uppercase;
48 | transition: all 0.3s;
49 | border-color:#07689f;
50 | outline: none;
51 | }
52 | #menu{
53 | display: inline-block;
54 | width: 20%;
55 | }
56 | button:hover{
57 | color: white;
58 | background-color:#07689f;
59 | }
60 |
61 | #answers{
62 | visibility: hidden;
63 | font-size:130%;
64 | }
65 |
66 | nav{
67 | background-color:#07689f;
68 | }
69 |
70 | .toBottom{
71 | bottom:0:
72 | }
73 |
--------------------------------------------------------------------------------
/mathmeticalTools/scientific-calcuator/sci-calc.css:
--------------------------------------------------------------------------------
1 | * {
2 | padding: 0;
3 | margin: 5px;
4 | text-align: center;
5 | }
6 | body {
7 | background-color:white;
8 | }
9 | .calculator {
10 | width: 350px;
11 | height: 420px;
12 | background-color: #c0c0c0;
13 | border: 4px solid black;
14 | border-radius: 7px;
15 | }
16 | #display {
17 | width: 400px;
18 | height: 60px;
19 | text-align: right;
20 | background-color: black;
21 | border: 3px solid white;
22 | font-size: 30px;
23 | left: 2px;
24 | top: 2px;
25 | color: white;
26 | }
27 | .btnTop{
28 | color: white;
29 | background-color: grey;
30 | font-size: 14px;
31 | margin: auto;
32 | width: 50px;
33 | height: 25px;
34 | }
35 | .btnNum {
36 | color: white;
37 | background-color: black;
38 | font-size: 16px;
39 | margin: auto;
40 | width: 55px;
41 | height: 25px;
42 | }
43 | .btnMath {
44 | color: white;
45 | background-color: green;
46 | font-size: 16px;
47 | margin: auto;
48 | width: 55px;
49 | height: 25px;
50 | }
51 | .btnOpps {
52 | color: white;
53 | background-color: navy;
54 | font-size: 16px;
55 | margin: auto;
56 | width: 55px;
57 | height: 25px;
58 | }
59 | footer {
60 | text-align: center;
61 | padding: 3px;
62 | background-color: DarkSalmon;
63 | color: white;
64 | }
--------------------------------------------------------------------------------
/conversionTools/currency/currency.css:
--------------------------------------------------------------------------------
1 | @import url("https://fonts.googleapis.com/css?family=Muli&display=swap");
2 |
3 | input {
4 | font-size: 1.2rem;
5 | }
6 | .container {
7 | background: #fdfdfd;
8 | display: flex;
9 | flex-direction: column;
10 | align-items: center;
11 | justify-content: space-around;
12 | padding: 1.5rem;
13 | width: content;
14 | box-shadow: 0 5px 20px darkgray;
15 | height: 50vh;
16 | }
17 | .currency,
18 | .middle {
19 | padding-top: 1rem;
20 | padding-bottom: 1rem;
21 | }
22 | .currency {
23 | display: flex;
24 | justify-content: space-between;
25 | }
26 | .middle {
27 | display: flex;
28 | border-bottom: 1px solid lightgray;
29 | border-top: 1px solid lightgrey;
30 | font-size: 1.5rem;
31 | }
32 | .middle > button {
33 | background-color: #fff;
34 | border: 2px solid #ecf0f1;
35 | border-radius: 50%;
36 | cursor: pointer;
37 | color: #f59300;
38 | font-size: 18px;
39 | display: flex;
40 | align-items: center;
41 | justify-content: center;
42 | height: 30px;
43 | width: 30px;
44 | transform: rotate(90deg);
45 | }
46 | #home__link {
47 | text-decoration: none;
48 | padding: 1rem;
49 | }
50 | #credit {
51 | color: dimgrey;
52 | position: absolute;
53 | bottom: 1rem;
54 | }
55 | #from_amount,
56 | #from_currency,
57 | #to_amount,
58 | #to_currency {
59 | font-size: 1.2rem;
60 | }
61 | #source {
62 | color: dimgray;
63 | }
64 | #source > a {
65 | color: gray;
66 | }
67 |
--------------------------------------------------------------------------------
/conversionTools/Angle_Conversion/angleconversion.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: rgba(173, 216, 230, 0.3);
3 | font-family: "Multi", sans-serif;
4 | }
5 | .answer {
6 | border: 4px;
7 | border-color: black;
8 | color: green;
9 | font-weight: bold;
10 | font-size: 18px;
11 | }
12 |
13 | .site-header {
14 | background-color: rgba(0, 0, 0, 0.85);
15 | -webkit-backdrop-filter: saturate(180%) blur(20px);
16 | backdrop-filter: saturate(180%) blur(20px);
17 | }
18 |
19 | .hero-section {
20 | background-color: var(--indigo);
21 | }
22 |
23 | .hero-section__graphic,
24 | .hero-section__graphic:before,
25 | .hero-section__graphic:after {
26 | background-color: rgba(255, 255, 255, 0.1);
27 | width: 10vh;
28 | height: 10vh;
29 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%;
30 | }
31 |
32 | .hero-section__graphic:before,
33 | .hero-section__graphic:after {
34 | content: "";
35 | display: inline-block;
36 | position: absolute;
37 | left: 0;
38 | top: 0;
39 | animation: float 10s infinite linear;
40 | }
41 |
42 | @keyframes float {
43 | 0% {
44 | transform: translate(0%, 0%) rotate(0);
45 | }
46 |
47 | 33% {
48 | transform: translate(2%, 2%) rotate(120deg);
49 | }
50 |
51 | 66% {
52 | transform: translate(2%, -2%) rotate(240deg);
53 | }
54 |
55 | to {
56 | transform: translate(0%, 0%) rotate(360deg);
57 | }
58 | }
59 |
60 | .hero-section__graphic:after {
61 | animation-direction: reverse;
62 | animation-delay: 500ms;
63 | }
64 |
65 | .hero-section__icon {
66 | fill: var(--light);
67 | width: 100%;
68 | height: auto;
69 | }
70 |
--------------------------------------------------------------------------------
/mathmeticalTools/GCD_HCF_LCM_Calculator/gcd_hcf_lcm_calc.css:
--------------------------------------------------------------------------------
1 | .heading {
2 | background-color: #6610f2;
3 | }
4 |
5 | .inputs {
6 | width: 150px;
7 | }
8 |
9 | .site-header {
10 | background-color: rgba(0, 0, 0, 0.85);
11 | -webkit-backdrop-filter: saturate(180%) blur(20px);
12 | backdrop-filter: saturate(180%) blur(20px);
13 | }
14 |
15 | .hero-section {
16 | background-color: var(--indigo);
17 | }
18 |
19 | .hero-section__graphic,
20 | .hero-section__graphic:before,
21 | .hero-section__graphic:after {
22 | background-color: rgba(255, 255, 255, 0.1);
23 | width: 300px;
24 | height: 300px;
25 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%;
26 | }
27 |
28 | .hero-section__graphic:before,
29 | .hero-section__graphic:after {
30 | content: "";
31 | display: inline-block;
32 | position: absolute;
33 | left: 0;
34 | top: 0;
35 | animation: float 10s infinite linear;
36 | }
37 | .hero-section__graphic:after {
38 | animation-direction: reverse;
39 | animation-delay: 500ms;
40 | }
41 |
42 | .hero-section__icon {
43 | fill: var(--light);
44 | width: 100%;
45 | height: auto;
46 | }
47 |
48 | @keyframes float {
49 | 0% {
50 | transform: translate(0%, 0%) rotate(0);
51 | }
52 |
53 | 33% {
54 | transform: translate(2%, 2%) rotate(120deg);
55 | }
56 |
57 | 66% {
58 | transform: translate(2%, -2%) rotate(240deg);
59 | }
60 |
61 | to {
62 | transform: translate(0%, 0%) rotate(360deg);
63 | }
64 | }
65 | footer .row a {
66 | text-decoration: none;
67 | }
68 |
69 | .footer {
70 | width: 100%;
71 | position: absolute;
72 | bottom: 0;
73 | }
74 |
--------------------------------------------------------------------------------
/conversionTools/speed/speed.css:
--------------------------------------------------------------------------------
1 | body{
2 | background-color: rgba(173, 216, 230, 0.3);
3 | font-family: "Multi", sans-serif;
4 | }
5 | .ans{
6 | border: 4px;
7 | border-color: black;
8 | color: green;
9 | font-weight: bold;
10 | font-size: 18px;
11 | }
12 |
13 | .cont {
14 | background: rgba(176, 224, 230, 0.6);
15 | display: flex;
16 | flex-direction: column;
17 | align-items: center;
18 | justify-content: center;
19 | border-radius: 5px ;
20 | padding: 1rem;
21 | width: content;
22 | box-shadow: 0 5px 20px darkgray;
23 | height: 53vh;
24 | }
25 |
26 | .site-header{
27 | background-color: rgba(0, 0, 0, .85);
28 | -webkit-backdrop-filter: saturate(180%) blur(20px);
29 | backdrop-filter: saturate(180%) blur(20px);
30 | }
31 |
32 | .hero-section {
33 | background-color: var(--indigo);
34 | }
35 |
36 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after {
37 | background-color: rgba(255,255,255,0.1);
38 | width: 10vh;
39 | height: 10vh;
40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%;
41 | }
42 |
43 | .hero-section__graphic:before, .hero-section__graphic:after {
44 | content: '';
45 | display: inline-block;
46 | position: absolute;
47 | left: 0;
48 | top: 0;
49 | animation: float 10s infinite linear;
50 | }
51 | .hero-section__graphic:after {
52 | animation-direction: reverse;
53 | animation-delay: 500ms;
54 | }
55 |
56 | .hero-section__icon{
57 | fill: var(--light);
58 | width: 100%;
59 | height: auto;
60 | }
61 |
62 |
63 | @keyframes float {
64 | 0% {
65 | transform: translate(0%, 0%) rotate(0);
66 | }
67 |
68 | 33% {
69 | transform: translate(2%, 2%) rotate(120deg);
70 | }
71 |
72 | 66% {
73 | transform: translate(2%, -2%) rotate(240deg);
74 | }
75 |
76 |
77 | to {
78 | transform: translate(0%, 0%) rotate(360deg);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/financeTools/discountcalculator/discount.css:
--------------------------------------------------------------------------------
1 | body{
2 | background-color: rgba(173, 216, 230, 0.3);
3 | font-family: "Multi", sans-serif;
4 | }
5 | .ans{
6 | border: 4px;
7 | border-color: black;
8 | color: green;
9 | font-weight: bold;
10 | font-size: 18px;
11 | }
12 |
13 | .cont {
14 | background: rgba(176, 224, 230, 0.6);
15 | display: flex;
16 | flex-direction: column;
17 | align-items: center;
18 | justify-content: center;
19 | border-radius: 5px ;
20 | padding: 1rem;
21 | width: content;
22 | box-shadow: 0 5px 20px darkgray;
23 | height: 53vh;
24 | }
25 |
26 | .site-header{
27 | background-color: rgba(0, 0, 0, .85);
28 | -webkit-backdrop-filter: saturate(180%) blur(20px);
29 | backdrop-filter: saturate(180%) blur(20px);
30 | }
31 |
32 | .hero-section {
33 | background-color: var(--indigo);
34 | }
35 |
36 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after {
37 | background-color: rgba(255,255,255,0.1);
38 | width: 10vh;
39 | height: 10vh;
40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%;
41 | }
42 |
43 | .hero-section__graphic:before, .hero-section__graphic:after {
44 | content: '';
45 | display: inline-block;
46 | position: absolute;
47 | left: 0;
48 | top: 0;
49 | animation: float 10s infinite linear;
50 | }
51 | .hero-section__graphic:after {
52 | animation-direction: reverse;
53 | animation-delay: 500ms;
54 | }
55 |
56 | .hero-section__icon{
57 | fill: var(--light);
58 | width: 100%;
59 | height: auto;
60 | }
61 |
62 |
63 | @keyframes float {
64 | 0% {
65 | transform: translate(0%, 0%) rotate(0);
66 | }
67 |
68 | 33% {
69 | transform: translate(2%, 2%) rotate(120deg);
70 | }
71 |
72 | 66% {
73 | transform: translate(2%, -2%) rotate(240deg);
74 | }
75 |
76 |
77 | to {
78 | transform: translate(0%, 0%) rotate(360deg);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/mathmeticalTools/numberSeriesGenerator/numberSeriesGenerator.css:
--------------------------------------------------------------------------------
1 | body{
2 | background-color: rgba(173, 216, 230, 0.3);
3 | font-family: "Multi", sans-serif;
4 | }
5 | .ans{
6 | border: 4px;
7 | border-color: black;
8 | color: green;
9 | font-weight: bold;
10 | font-size: 18px;
11 | }
12 |
13 | .cont {
14 | background: rgba(176, 224, 230, 0.6);
15 | display: flex;
16 | flex-direction: column;
17 | align-items: center;
18 | justify-content: center;
19 | border-radius: 5px ;
20 | padding: 1rem;
21 | width: content;
22 | box-shadow: 0 5px 20px darkgray;
23 | height: 53vh;
24 | }
25 |
26 | .site-header{
27 | background-color: rgba(0, 0, 0, .85);
28 | -webkit-backdrop-filter: saturate(180%) blur(20px);
29 | backdrop-filter: saturate(180%) blur(20px);
30 | }
31 |
32 | .hero-section {
33 | background-color: var(--indigo);
34 | }
35 |
36 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after {
37 | background-color: rgba(255,255,255,0.1);
38 | width: 10vh;
39 | height: 10vh;
40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%;
41 | }
42 |
43 | .hero-section__graphic:before, .hero-section__graphic:after {
44 | content: '';
45 | display: inline-block;
46 | position: absolute;
47 | left: 0;
48 | top: 0;
49 | animation: float 10s infinite linear;
50 | }
51 | .hero-section__graphic:after {
52 | animation-direction: reverse;
53 | animation-delay: 500ms;
54 | }
55 |
56 | .hero-section__icon{
57 | fill: var(--light);
58 | width: 100%;
59 | height: auto;
60 | }
61 |
62 |
63 | @keyframes float {
64 | 0% {
65 | transform: translate(0%, 0%) rotate(0);
66 | }
67 |
68 | 33% {
69 | transform: translate(2%, 2%) rotate(120deg);
70 | }
71 |
72 | 66% {
73 | transform: translate(2%, -2%) rotate(240deg);
74 | }
75 |
76 |
77 | to {
78 | transform: translate(0%, 0%) rotate(360deg);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/conversionTools/temperture/temperture.js:
--------------------------------------------------------------------------------
1 |
2 | function converttemperture() {
3 | //getting the value of conversion
4 | let conversion_value=document.getElementById("conversion_value").value;
5 | let conversion_result=document.getElementById("conversion_result").value;
6 | //getting the value of temperture
7 | let temperture_value=document.getElementById("temperture_value").value;
8 | let temperture_result=document.getElementById("temperture_result");
9 | //converting the value to int
10 | temperture_value=parseInt(temperture_value);
11 | //store it on result var
12 | let result=temperture_value;
13 | //checking for condition
14 | if(conversion_value==="Celsius" && conversion_result==="Fahrenheit")
15 | {
16 | result=(temperture_value * 9/5) + 32;
17 | }
18 | else if(conversion_value==="Celsius" && conversion_result==="Kelvin")
19 | {
20 | result=(temperture_value+273.15);
21 | }
22 | else if(conversion_value==="Fahrenheit" && conversion_result==="Celsius")
23 | {
24 | result=(temperture_value - 32)* 5/9;
25 | }
26 | else if(conversion_value==="Fahrenheit" && conversion_result==="Kelvin")
27 | {
28 | result=(temperture_value- 32)* 5/9 + 273.15;
29 | }
30 | else if(conversion_value==="Kelvin" && conversion_result==="Fahrenheit")
31 | {
32 | result=(temperture_value - 273.15)* 9/5 + 32 ;
33 | }
34 | else if(conversion_value==="Kelvin" && conversion_result==="Celsius")
35 | {
36 | result=(temperture_value - 273.15) ;
37 | }
38 | //fixed the ouuput to 2 digits
39 | result=result.toFixed(2);
40 | //inform the use if the input is not valid
41 | if(isNaN(result))
42 | {
43 | temperture_result.value="Enter a valid number";
44 | }
45 | else
46 | {
47 | temperture_result.value=result;
48 | }
49 |
50 | }
51 |
52 | //program begins here
53 | function main(argument) {
54 | let convert_button=document.getElementById("convert_button");
55 | convert_button.addEventListener("click",converttemperture);
56 |
57 | }
58 | main();
59 |
--------------------------------------------------------------------------------
/financeTools/service-tax-calculator/style.css:
--------------------------------------------------------------------------------
1 | /*
2 | ***
3 | * COSTUME STYLESHEET
4 | ***
5 | * Please use the bootstrap color pallet and available css variables
6 | * for a more consistent design
7 | */
8 |
9 | /*
10 | *----------------------------------------------------------------
11 | * SITE HEADER
12 | *----------------------------------------------------------------
13 | */
14 |
15 | .site-header {
16 | background-color: rgba(0, 0, 0, 0.85);
17 | -webkit-backdrop-filter: saturate(180%) blur(20px);
18 | backdrop-filter: saturate(180%) blur(20px);
19 | }
20 |
21 | /*
22 | *----------------------------------------------------------------
23 | * HERO SECTION
24 | *----------------------------------------------------------------
25 | */
26 | .hero-section {
27 | background-color: var(--indigo);
28 | }
29 |
30 | .hero-section__graphic {
31 | /* to be added */
32 | }
33 |
34 | .hero-section__graphic,
35 | .hero-section__graphic:before,
36 | .hero-section__graphic:after {
37 | background-color: rgba(255, 255, 255, 0.1);
38 | width: 300px;
39 | height: 300px;
40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%;
41 | }
42 |
43 | .hero-section__graphic:before,
44 | .hero-section__graphic:after {
45 | content: "";
46 | display: inline-block;
47 | position: absolute;
48 | left: 0;
49 | top: 0;
50 | animation: float 10s infinite linear;
51 | }
52 | .hero-section__graphic:after {
53 | animation-direction: reverse;
54 | animation-delay: 500ms;
55 | }
56 |
57 | .hero-section__icon {
58 | fill: var(--light);
59 | width: 100%;
60 | height: auto;
61 | }
62 |
63 | @keyframes float {
64 | 0% {
65 | transform: translate(0%, 0%) rotate(0);
66 | }
67 |
68 | 33% {
69 | transform: translate(2%, 2%) rotate(120deg);
70 | }
71 |
72 | 66% {
73 | transform: translate(2%, -2%) rotate(240deg);
74 | }
75 |
76 | to {
77 | transform: translate(0%, 0%) rotate(360deg);
78 | }
79 | }
80 | footer .row a {
81 | text-decoration: none;
82 | }
83 |
--------------------------------------------------------------------------------
/financeTools/retirementcalaculator/retirement.js:
--------------------------------------------------------------------------------
1 | var early = null;
2 | var compute = function(years, amount, roi, draw, current, inflation) {
3 | var rate = roi/100/12;
4 | var fv = 0;
5 |
6 | if(inflation) {
7 | amount = amount * (1+(0.0315*years));
8 | }
9 |
10 | var required = amount / (draw/100);
11 | var monthly = 1;
12 | early = null;
13 | while(fv < required) {
14 | fv = current || 0;
15 | for(var i = 0; i < years * 12; i++) {
16 | fv += monthly;
17 | fv = fv * (1+rate);
18 |
19 | if(fv > required && i < years*12-1) {
20 | console.log("early", i);
21 | early = i;
22 | break;
23 | }
24 | }
25 |
26 | if(fv < required) {
27 | monthly += 1
28 | }
29 | }
30 |
31 | return monthly
32 | }
33 |
34 | function numberWithCommas(x) {
35 | return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
36 | }
37 |
38 | window.computeNow = function() {
39 | var draw = document.getElementById("draw").value;
40 | var roi = document.getElementById("roi").value;
41 | var amount = document.getElementById("amount").value;
42 | var years = document.getElementById("years").value;
43 | var current = document.getElementById("current").value;
44 | var inflation = document.getElementById("inflation").checked;
45 |
46 | var computed = numberWithCommas(compute(+years, +amount, +roi, +draw, +current, inflation).toFixed(2));
47 |
48 | var amountAdjusted = inflation ? amount * (1+(years*0.0315)) : amount;
49 | var amountRequired = amountAdjusted / (draw/100);
50 |
51 | var output = document.getElementById("output");
52 | output.innerHTML = (inflation ? "Amount required per year: $" + numberWithCommas(amountAdjusted.toFixed(2)) + "
" : "")
53 | + (early != null ? "You can get there early! Only " + (early/12).toFixed(1) + " years required.
": "")
54 | + "Total Networth Required: $"+ numberWithCommas(amountRequired.toFixed(2));
55 | output.innerHTML += "
2 should be >0"; 14 | else 15 | calculate(); 16 | } 17 | 18 | } 19 | function clearall() 20 | { 21 | a=0,b=0,c=0,d=0,dstr="",x1=0,x2=0; 22 | document.getElementById("a").value=""; 23 | document.getElementById("b").value=""; 24 | document.getElementById("c").value=""; 25 | document.getElementById("dtext").innerHTML="Fill your Equation"; 26 | document.getElementById("x1").innerHTML=""; 27 | document.getElementById("x2").innerHTML=""; 28 | 29 | } 30 | function dshow() 31 | { 32 | if(d>0) 33 | { 34 | dstr="Both roots are Real & Distinct"; 35 | } 36 | else if(d<0) 37 | { 38 | dstr="Both roots are Distinct & Imaginary"; 39 | } 40 | else if(d==0) 41 | { 42 | dstr="Both roots are Real & Equal"; 43 | } 44 | document.getElementById("dtext").innerHTML=dstr; 45 | } 46 | function calculate() 47 | { 48 | d=(b*b)-(4*a*c); 49 | dshow(); 50 | if(d>=0) 51 | { 52 | x1=((-b)+Math.sqrt(d))/(2*a); 53 | x2=((-b)-Math.sqrt(d))/(2*a); 54 | if(!(Number.isInteger(x1))) 55 | x1=Number(x1.toFixed(3)); 56 | if(!(Number.isInteger(x2))) 57 | x2=Number(x2.toFixed(3)); 58 | x1=x1.toString(); 59 | x2=x2.toString(); 60 | document.getElementById("x1").innerHTML=x1; 61 | document.getElementById("x2").innerHTML=x2; 62 | } 63 | else 64 | { 65 | imgstr1="",imgstr2=""; 66 | d=Math.sqrt(Math.abs(d)); 67 | x1=((-b)/(2*a)); 68 | x2=d/(2*a); 69 | if(!(Number.isInteger(x1))) 70 | x1=Number(x1.toFixed(2)); 71 | if(!(Number.isInteger(x2))) 72 | x2=Number(x2.toFixed(2)); 73 | 74 | imgstr1=x1.toString(); 75 | if(x2>0) 76 | imgstr1+=" + "; 77 | else 78 | imgstr1+=" - "; 79 | imgstr1+=(Math.abs(x2)).toString()+"i"; 80 | document.getElementById("x1").innerHTML=imgstr1; 81 | imgstr2=x1; 82 | if(x2>0) 83 | imgstr2+=" - "; 84 | else 85 | imgstr2+=" + "; 86 | imgstr2+=(Math.abs(x2)).toString()+"i"; 87 | document.getElementById("x2").innerHTML=imgstr2; 88 | } 89 | } 90 | 91 | -------------------------------------------------------------------------------- /conversionTools/density/density.css: -------------------------------------------------------------------------------- 1 | /* 2 | *** 3 | * COSTUME STYLESHEET 4 | *** 5 | * Please use the bootstrap color pallet and available css variables 6 | * for a more consistent design 7 | */ 8 | 9 | /* 10 | *---------------------------------------------------------------- 11 | * SITE HEADER 12 | *---------------------------------------------------------------- 13 | */ 14 | 15 | .site-header { 16 | background-color: rgba(0, 0, 0, 0.85); 17 | -webkit-backdrop-filter: saturate(180%) blur(20px); 18 | backdrop-filter: saturate(180%) blur(20px); 19 | } 20 | 21 | /* 22 | *---------------------------------------------------------------- 23 | * HERO SECTION 24 | *---------------------------------------------------------------- 25 | */ 26 | .hero-section { 27 | background-color: var(--indigo); 28 | } 29 | 30 | .hero-section__graphic { 31 | /* to be added */ 32 | } 33 | 34 | .hero-section__graphic, 35 | .hero-section__graphic:before, 36 | .hero-section__graphic:after { 37 | background-color: rgba(255, 255, 255, 0.1); 38 | width: 300px; 39 | height: 300px; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, 44 | .hero-section__graphic:after { 45 | content: ""; 46 | display: inline-block; 47 | position: absolute; 48 | left: 0; 49 | top: 0; 50 | animation: float 10s infinite linear; 51 | } 52 | .hero-section__graphic:after { 53 | animation-direction: reverse; 54 | animation-delay: 500ms; 55 | } 56 | 57 | .hero-section__icon { 58 | fill: var(--light); 59 | width: 100%; 60 | height: auto; 61 | } 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | to { 77 | transform: translate(0%, 0%) rotate(360deg); 78 | } 79 | } 80 | footer .row a { 81 | text-decoration: none; 82 | } 83 | .form-control{ 84 | background-color: #eaeaf2; 85 | color: #000; 86 | border: 1px solid #3013bc; 87 | } 88 | form{ 89 | margin-top: -30px; 90 | }/* 91 | #formula{ 92 | text-align: center; 93 | background-color: #000; 94 | color: #fff; 95 | border-radius: 5px; 96 | margin: 20px; 97 | padding: 20px; 98 | }*/ 99 | .card{ 100 | text-align: center; 101 | } 102 | -------------------------------------------------------------------------------- /dailyUseTools/compass/compassStylesheet.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: -webkit-linear-gradient(left, #6c4bf2, #6c4bf2); 3 | } 4 | .hero-section__graphic{ 5 | height:320px; 6 | width:310px; 7 | } 8 | .compass { 9 | position: relative; 10 | width: 320px; 11 | height: 320px; 12 | border-radius: 50%; 13 | box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); 14 | margin: auto; 15 | background-color:rgba(255,255,255,1); 16 | } 17 | 18 | .compass > .arrow { 19 | position: absolute; 20 | width: 0; 21 | height: 0; 22 | top: -20px; 23 | left: 50%; 24 | transform: translateX(-50%); 25 | border-style: solid; 26 | border-width: 30px 20px 0 20px; 27 | border-color: red transparent transparent transparent; 28 | z-index: 1; 29 | } 30 | 31 | .compass > .compass-circle, 32 | .compass > .my-point { 33 | position: absolute; 34 | width: 90%; 35 | height: 90%; 36 | top: 50%; 37 | left: 50%; 38 | transform: translate(-50%, -50%); 39 | transition: transform 0.1s ease-out; 40 | background: url('images/compass_dial.png') 41 | center no-repeat; 42 | background-size: contain; 43 | } 44 | 45 | .compass > .my-point { 46 | opacity: 0; 47 | width: 20%; 48 | height: 20%; 49 | background: rgb(8, 223, 69); 50 | border-radius: 50%; 51 | transition: opacity 0.5s ease-out; 52 | } 53 | 54 | .start-btn:hover { 55 | color: #9050AA; 56 | border-color: currentColor; 57 | background-color: wheat; 58 | } 59 | 60 | /* make sure we have a visible focus ring */ 61 | .start-btn:focus { 62 | outline: none; 63 | box-shadow: 0 0 0 3px rgba(255, 105, 180, 0.5), 64 | 0 0 0 1.5px rgba(255, 105, 180, 0.5); 65 | } 66 | 67 | .start-btn:active { 68 | transform: translateY(2px); 69 | filter: saturate(150%); 70 | } 71 | 72 | .Center-btn{ 73 | text-align: center; 74 | } 75 | 76 | .marginDiv{ 77 | margin-top: 80px; 78 | } 79 | 80 | .start-btn{ 81 | font-family: Verdana, Geneva, Tahoma, sans-serif; 82 | font-size: 24px; 83 | padding: 0.5em 1em; 84 | border: 1px solid transparent; 85 | border-radius: 6px; 86 | color: #000000; 87 | background-color: #BB99FF; 88 | margin:50px 0px 50px 0px; 89 | } 90 | footer { 91 | width: 100%; 92 | position: fixed; 93 | padding-bottom: 20px; 94 | bottom: 0; 95 | left: 0; 96 | background-color: antiquewhite; 97 | } -------------------------------------------------------------------------------- /assets/styles/contributor.css: -------------------------------------------------------------------------------- 1 | :root{ 2 | --theme:#6610f2; 3 | --purple:blueviolet 4 | } 5 | body { 6 | background-image: linear-gradient(var(--theme),var(--purple)); 7 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; 8 | 9 | color:#fff; 10 | } 11 | .header h2{ 12 | color:#fff; 13 | text-align: center; 14 | font-size:3.3em; 15 | } 16 | .row { 17 | background-color: #000; 18 | width: 80%; 19 | margin: 4% auto; 20 | display: flex; 21 | flex-wrap: wrap; 22 | align-items: center; 23 | } 24 | .col { 25 | flex-basis: 25%; 26 | text-align: center; 27 | overflow: hidden; 28 | position: relative; 29 | } 30 | .col img { 31 | width: 100%; 32 | cursor: pointer; 33 | transition: transform 1s; 34 | } 35 | .col p { 36 | margin: 20px; 37 | } 38 | .social-link a{ 39 | text-decoration: none; 40 | width: 35px; 41 | height: 35px; 42 | color:#fff; 43 | } 44 | .social-link .fa { 45 | width: 35px; 46 | height: 35px; 47 | line-height: 35px; 48 | border: 1px solid white; 49 | margin: 0 7px; 50 | cursor: pointer; 51 | transition: transform 0.5s; 52 | } 53 | .social-link .fa:hover { 54 | background: var(--theme); 55 | color: white; 56 | transform: translateY(-7px); 57 | } 58 | .col:hover img { 59 | transform: scale(1.1); 60 | } 61 | .col span { 62 | width: 0; 63 | border-top: 20px solid transparent; 64 | border-bottom: 20px solid transparent; 65 | border-right: 15px solid #000; 66 | position: absolute; 67 | top: 50%; 68 | right: 0; 69 | transform: translateY(-50%); 70 | z-index: 2; 71 | } 72 | .col .arrow { 73 | border-right: 15px solid transparent; 74 | border-left: 15px solid #000; 75 | right: unset; 76 | left: 0; 77 | } 78 | @media screen and (max-width: 770px) { 79 | .row { 80 | width: 95%; 81 | } 82 | .col { 83 | flex-basis: 50%; 84 | font-size: 14px; 85 | } 86 | .header h2{ 87 | font-size: 30px; 88 | } 89 | 90 | .social-link .fa { 91 | width: 28px; 92 | height: 28px; 93 | line-height: 28px; 94 | } 95 | .row .col:nth-child(1) { 96 | order: 1; 97 | } 98 | .row .col:nth-child(2) { 99 | order: 2; 100 | } 101 | .row .col:nth-child(3) { 102 | order: 5; 103 | } 104 | .row .col:nth-child(4) { 105 | order: 6; 106 | } 107 | .row .col:nth-child(5) { 108 | order: 3; 109 | } 110 | .row .col:nth-child(6) { 111 | order: 4; 112 | } 113 | .row .col:nth-child(7) { 114 | order: 7; 115 | } 116 | .row .col:nth-child(8) { 117 | order: 8; 118 | } 119 | } 120 | footer .col-md-6{ 121 | text-align: center; 122 | border-top:1px solid rgb(180, 175, 175); 123 | } -------------------------------------------------------------------------------- /mathmeticalTools/decimalToFraction/decimalToFraction.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 24px; 11 | } 12 | 13 | .content { 14 | padding: 0 18px; 15 | display: none; 16 | overflow: hidden; 17 | background-color: #f1f1f1; 18 | } 19 | 20 | label, button, input{ 21 | font-size: 18px; 22 | } 23 | 24 | input{ 25 | background: rgba(173, 216, 230, 0.9); 26 | border: none; 27 | border-bottom: 2px solid darkgray; 28 | border-radius: 5px; 29 | padding: 9px 22px; 30 | margin: 8px 0; 31 | box-sizing: border-box; 32 | text-align: center; 33 | } 34 | 35 | 36 | 37 | 38 | div.ct1 { 39 | background: rgba(176, 224, 230, 0.7); 40 | display: flex; 41 | flex-direction: column; 42 | align-items: center; 43 | justify-content: center; 44 | border-radius: 5px ; 45 | padding: 1rem; 46 | box-shadow: 0 5px 20px darkgray; 47 | min-height: 30vh; 48 | align-self: left; 49 | width: content; 50 | } 51 | 52 | 53 | 54 | .site-header{ 55 | background-color: rgba(0, 0, 0, .85); 56 | -webkit-backdrop-filter: saturate(180%) blur(20px); 57 | backdrop-filter: saturate(180%) blur(20px); 58 | } 59 | 60 | .hero-section { 61 | background-color: var(--indigo); 62 | } 63 | 64 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 65 | background-color: rgba(255,255,255,0.1); 66 | width: 10vh; 67 | height: 10vh; 68 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 69 | } 70 | 71 | .hero-section__graphic:before, .hero-section__graphic:after { 72 | content: ''; 73 | display: inline-block; 74 | position: absolute; 75 | left: 0; 76 | top: 0; 77 | animation: float 10s infinite linear; 78 | } 79 | .hero-section__graphic:after { 80 | animation-direction: reverse; 81 | animation-delay: 500ms; 82 | } 83 | 84 | .hero-section__icon{ 85 | fill: var(--light); 86 | width: 100%; 87 | height: auto; 88 | } 89 | 90 | 91 | @keyframes float { 92 | 0% { 93 | transform: translate(0%, 0%) rotate(0); 94 | } 95 | 96 | 33% { 97 | transform: translate(2%, 2%) rotate(120deg); 98 | } 99 | 100 | 66% { 101 | transform: translate(2%, -2%) rotate(240deg); 102 | } 103 | 104 | 105 | to { 106 | transform: translate(0%, 0%) rotate(360deg); 107 | } 108 | } 109 | 110 | -------------------------------------------------------------------------------- /mathmeticalTools/ratio/ratio.js: -------------------------------------------------------------------------------- 1 | var ratio11, ratio12, ratio21, ratio22, s_ratio1, s_ratio2 = ""; 2 | 3 | function calculate() { 4 | extract_values(); 5 | if (ratio11 && ratio12) { 6 | const gcd = gcd_two_numbers(Number(ratio11), Number(ratio12)); 7 | if (gcd === 1) { 8 | s_ratio1 = ratio11; 9 | s_ratio2 = ratio12; 10 | } else { 11 | s_ratio1 = ratio11 / gcd; 12 | s_ratio2 = ratio12 / gcd; 13 | } 14 | display_results() 15 | } else { 16 | document.getElementById("simplificationresult").innerHTML = "Ratio 1 not provided"; 17 | document.getElementById("comparisonresult").innerHTML = "Comparison result"; 18 | } 19 | } 20 | 21 | function display_results() { 22 | let simplification_result, comparison_result; 23 | if (ratio21 && ratio22) { 24 | if (ratio11 * ratio22 === ratio12 * ratio21) { 25 | if (ratio11 === ratio21) { 26 | simplification_result = ratio11 + ":" + ratio12 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 27 | comparison_result = "Ratio 1 and Ratio 2 are the same " + ratio21 + ":" + ratio22; 28 | } else { 29 | simplification_result = "Both ratios " + ratio11 + ":" + ratio12 + " and " + ratio21 + ":" + ratio22 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 30 | comparison_result = ratio11 + ":" + ratio12 + " is EQUAL to " + ratio21 + ":" + ratio22; 31 | } 32 | } else { 33 | simplification_result = ratio11 + ":" + ratio12 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 34 | comparison_result = ratio11 + ":" + ratio12 + " is NOT EQUAL to " + ratio21 + ":" + ratio22; 35 | } 36 | } else { 37 | simplification_result = ratio11 + ":" + ratio12 + " can be simplified to " + s_ratio1 + ":" + s_ratio2; 38 | comparison_result = "Ratio 2 not provided"; 39 | } 40 | document.getElementById("simplificationresult").innerHTML = simplification_result; 41 | document.getElementById("comparisonresult").innerHTML = comparison_result; 42 | } 43 | 44 | function extract_values() { 45 | ratio11 = document.getElementById("ratio11").value; 46 | ratio12 = document.getElementById("ratio12").value; 47 | ratio21 = document.getElementById("ratio21").value; 48 | ratio22 = document.getElementById("ratio22").value; 49 | } 50 | 51 | function gcd_two_numbers(x, y) { 52 | while (y) { 53 | var t = y; 54 | y = x % y; 55 | x = t; 56 | } 57 | return x; 58 | } 59 | -------------------------------------------------------------------------------- /conversionTools/Energy/energy.css: -------------------------------------------------------------------------------- 1 | /* 2 | *** 3 | * COSTUME STYLESHEET 4 | *** 5 | * Please use the bootstrap color pallet and available css variables 6 | * for a more consistent design 7 | */ 8 | 9 | /* 10 | *---------------------------------------------------------------- 11 | * SITE HEADER 12 | *---------------------------------------------------------------- 13 | */ 14 | 15 | .site-header { 16 | background-color: rgba(0, 0, 0, 0.85); 17 | -webkit-backdrop-filter: saturate(180%) blur(20px); 18 | backdrop-filter: saturate(180%) blur(20px); 19 | } 20 | 21 | /* 22 | *---------------------------------------------------------------- 23 | * HERO SECTION 24 | *---------------------------------------------------------------- 25 | */ 26 | .hero-section { 27 | background-color: var(--indigo); 28 | } 29 | 30 | .hero-section__graphic { 31 | /* to be added */ 32 | } 33 | 34 | .hero-section__graphic, 35 | .hero-section__graphic:before, 36 | .hero-section__graphic:after { 37 | background-color: rgba(255, 255, 255, 0.1); 38 | width: 300px; 39 | height: 300px; 40 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 41 | } 42 | 43 | .hero-section__graphic:before, 44 | .hero-section__graphic:after { 45 | content: ""; 46 | display: inline-block; 47 | position: absolute; 48 | left: 0; 49 | top: 0; 50 | animation: float 10s infinite linear; 51 | } 52 | .hero-section__graphic:after { 53 | animation-direction: reverse; 54 | animation-delay: 500ms; 55 | } 56 | 57 | .hero-section__icon { 58 | fill: var(--light); 59 | width: 100%; 60 | height: auto; 61 | } 62 | 63 | @keyframes float { 64 | 0% { 65 | transform: translate(0%, 0%) rotate(0); 66 | } 67 | 68 | 33% { 69 | transform: translate(2%, 2%) rotate(120deg); 70 | } 71 | 72 | 66% { 73 | transform: translate(2%, -2%) rotate(240deg); 74 | } 75 | 76 | to { 77 | transform: translate(0%, 0%) rotate(360deg); 78 | } 79 | } 80 | footer .row a { 81 | text-decoration: none; 82 | } 83 | .form-control{ 84 | background-color: #eaeaf2; 85 | color: #000; 86 | border: 1px solid #3013bc; 87 | } 88 | form{ 89 | margin-top: -30px; 90 | }/* 91 | #formula{ 92 | text-align: center; 93 | background-color: #000; 94 | color: #fff; 95 | border-radius: 5px; 96 | margin: 20px; 97 | padding: 20px; 98 | }*/ 99 | .card{ 100 | text-align: center; 101 | } 102 | -------------------------------------------------------------------------------- /mathmeticalTools/percentageCalculator/percentageCalculator.js: -------------------------------------------------------------------------------- 1 | MathJax.Hub.Config({ 2 | extensions: ["tex2jax.js"], 3 | "HTML-CSS": { scale: 100} 4 | }); 5 | 6 | function op(){ 7 | var coll = document.getElementById("collapsible"); 8 | var i; 9 | console.log("hi"); 10 | for (i = 0; i < coll.length; i++) { 11 | coll[i].addEventListener("click", function() { 12 | this.classList.toggle("active"); 13 | console.log("hi"); 14 | var content = this.nextElementSibling; 15 | if (content.style.maxHeight){ 16 | content.style.maxHeight = null; 17 | } else { 18 | content.style.maxHeight = content.scrollHeight + "px"; 19 | } 20 | }); 21 | }} 22 | 23 | function findPart(){ 24 | var tot = document.getElementById("tot1").value; 25 | var perc = document.getElementById("perc1").value; 26 | var ans = (tot * perc) / 100; 27 | document.getElementById("ans1").innerHTML = ans; 28 | } 29 | 30 | function findPerc(){ 31 | var tot = document.getElementById("tot2").value; 32 | var part = document.getElementById("part2").value; 33 | var ans = (part / tot) * 100; 34 | document.getElementById("error2").innerHTML = ""; 35 | document.getElementById("ans2").innerHTML = ans+'%'; 36 | if(tot==0){ 37 | document.getElementById("error2").innerHTML = "You tried to divide by 0. Check out the formula!"; 38 | } 39 | } 40 | 41 | function findTot(){ 42 | var perc = document.getElementById("perc3").value; 43 | var part = document.getElementById("part3").value; 44 | var ans; 45 | if(perc==0 && part==0) 46 | ans=0; 47 | else 48 | ans = (part * 100) / perc; 49 | document.getElementById("error3").innerHTML = ""; 50 | document.getElementById("ans3").innerHTML = ans; 51 | if(perc == 0 && part!=0) 52 | document.getElementById("error3").innerHTML = "You tried to divide by 0. Check out the formula!"; 53 | } 54 | 55 | function findPercChange(){ 56 | var ini = document.getElementById("ini").value; 57 | var fin = document.getElementById("fin").value; 58 | var diff = fin-ini; 59 | var ans; 60 | if(ini==0 && diff==0){ 61 | ans=0 62 | } 63 | else 64 | ans = (100 * diff) / ini; 65 | document.getElementById("error4").innerHTML = ""; 66 | if(diff<0){ 67 | ans = 0-ans; 68 | document.getElementById("ans4").innerHTML = ans +'% decrease'; 69 | } 70 | else if(diff==0){ 71 | 72 | document.getElementById("ans4").innerHTML = ans +'% increase/decrease'; 73 | } 74 | else{ 75 | document.getElementById("ans4").innerHTML = ans +'% increase'; 76 | } 77 | if(ini==0 && fin!=0){ 78 | document.getElementById("error4").innerHTML = "You tried to divide by 0. Check out the formula!"; 79 | } 80 | } -------------------------------------------------------------------------------- /dailyUseTools/compass/CompassMain.js: -------------------------------------------------------------------------------- 1 | 2 | const compassCircle = document.querySelector(".compass-circle"); 3 | const myPoint = document.querySelector(".my-point"); 4 | const startBtn = document.querySelector(".start-btn"); 5 | const isIOS = 6 | navigator.userAgent.match(/(iPod|iPhone|iPad)/) && 7 | navigator.userAgent.match(/AppleWebKit/); 8 | 9 | function init() { 10 | startBtn.addEventListener("click", startCompass); 11 | navigator.geolocation.getCurrentPosition(locationHandler); 12 | 13 | if (!isIOS) { 14 | window.addEventListener("deviceorientationabsolute", handler, true); 15 | } 16 | } 17 | 18 | function startCompass() { 19 | if (isIOS) { 20 | DeviceOrientationEvent.requestPermission() 21 | .then((response) => { 22 | if (response === "granted") { 23 | window.addEventListener("deviceorientation", handler, true); 24 | } else { 25 | alert("has to be allowed!"); 26 | } 27 | }) 28 | .catch(() => alert("not supported")); 29 | } 30 | } 31 | 32 | function handler(e) { 33 | compass = e.webkitCompassHeading || Math.abs(e.alpha - 360); 34 | compassCircle.style.transform = `translate(-50%, -50%) rotate(${-compass}deg)`; 35 | 36 | // ±15 degree 37 | if ( 38 | (pointDegree < Math.abs(compass) && 39 | pointDegree + 15 > Math.abs(compass)) || 40 | pointDegree > Math.abs(compass + 15) || 41 | pointDegree < Math.abs(compass) 42 | ) { 43 | myPoint.style.opacity = 0; 44 | } else if (pointDegree) { 45 | myPoint.style.opacity = 1; 46 | } 47 | } 48 | 49 | let pointDegree; 50 | 51 | function locationHandler(position) { 52 | const { latitude, longitude } = position.coords; 53 | pointDegree = calcDegreeToPoint(latitude, longitude); 54 | 55 | if (pointDegree < 0) { 56 | pointDegree = pointDegree + 360; 57 | } 58 | } 59 | 60 | function calcDegreeToPoint(latitude, longitude) { 61 | // Qibla geolocation 62 | const point = { 63 | lat: 21.422487, 64 | lng: 39.826206 65 | }; 66 | 67 | const phiK = (point.lat * Math.PI) / 180.0; 68 | const lambdaK = (point.lng * Math.PI) / 180.0; 69 | const phi = (latitude * Math.PI) / 180.0; 70 | const lambda = (longitude * Math.PI) / 180.0; 71 | const psi = 72 | (180.0 / Math.PI) * 73 | Math.atan2( 74 | Math.sin(lambdaK - lambda), 75 | Math.cos(phi) * Math.tan(phiK) - 76 | Math.sin(phi) * Math.cos(lambdaK - lambda) 77 | ); 78 | return Math.round(psi); 79 | } 80 | 81 | init(); 82 | -------------------------------------------------------------------------------- /mathmeticalTools/volume/volume.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | text-align: center; 21 | } 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper 28 | { 29 | width: 90%; 30 | height: 50vh; 31 | display: flex; 32 | margin: .5rem auto auto; 33 | align-items: center; 34 | justify-content: center; 35 | flex-direction: column; 36 | color: white; 37 | } 38 | /* 39 | *---------------------------------------------------------------- 40 | * volume wrapper 41 | *---------------------------------------------------------------- 42 | */ 43 | .volume__wrapper 44 | { 45 | width: 50%; 46 | margin: 0 auto; 47 | display: flex; 48 | border-radius: 10px; 49 | height: 300px; 50 | flex-direction: column; 51 | justify-content: center; 52 | background-color: var(--indigo); 53 | } 54 | /* 55 | *---------------------------------------------------------------- 56 | * volume container 57 | *---------------------------------------------------------------- 58 | */ 59 | .volume__container 60 | { 61 | display: flex; 62 | flex-direction: column; 63 | margin: 0 auto; 64 | } 65 | /* 66 | *---------------------------------------------------------------- 67 | * value ,result, button container 68 | *---------------------------------------------------------------- 69 | */ 70 | .value__container, 71 | .result__container, 72 | .button__container 73 | { 74 | margin: 10px auto; 75 | } 76 | /* 77 | *---------------------------------------------------------------- 78 | * value ,result dropdown box 79 | *---------------------------------------------------------------- 80 | */ 81 | #conversion_value, 82 | #conversion_result 83 | { 84 | color: #fff; 85 | background-color: #007bff; 86 | border-color: #007bff; 87 | outline: none; 88 | 89 | } 90 | /* 91 | *---------------------------------------------------------------- 92 | * convert button 93 | *---------------------------------------------------------------- 94 | */ 95 | #convert_button 96 | { 97 | color: #fff; 98 | background-color: #007bff; 99 | border-color: #007bff; 100 | outline: none; 101 | } -------------------------------------------------------------------------------- /conversionTools/weight/weight.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | text-align: center; 21 | } 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper 28 | { 29 | width: 90%; 30 | height: 50vh; 31 | display: flex; 32 | margin: .5rem auto auto; 33 | align-items: center; 34 | justify-content: center; 35 | flex-direction: column; 36 | color: white; 37 | } 38 | /* 39 | *---------------------------------------------------------------- 40 | * weight wrapper 41 | *---------------------------------------------------------------- 42 | */ 43 | .weight__wrapper 44 | { 45 | width: 50%; 46 | margin: 0 auto; 47 | display: flex; 48 | border-radius: 10px; 49 | height: 300px; 50 | flex-direction: column; 51 | justify-content: center; 52 | background-color: var(--indigo); 53 | } 54 | /* 55 | *---------------------------------------------------------------- 56 | * weight container 57 | *---------------------------------------------------------------- 58 | */ 59 | .weight__container 60 | { 61 | display: flex; 62 | flex-direction: column; 63 | margin: 0 auto; 64 | } 65 | /* 66 | *---------------------------------------------------------------- 67 | * value ,result, button container 68 | *---------------------------------------------------------------- 69 | */ 70 | .value__container, 71 | .result__container, 72 | .button__container 73 | { 74 | margin: 10px auto; 75 | } 76 | /* 77 | *---------------------------------------------------------------- 78 | * value ,result dropdown box 79 | *---------------------------------------------------------------- 80 | */ 81 | #conversion_value, 82 | #conversion_result 83 | { 84 | color: #fff; 85 | background-color: #007bff; 86 | border-color: #007bff; 87 | outline: none; 88 | 89 | } 90 | /* 91 | *---------------------------------------------------------------- 92 | * convert button 93 | *---------------------------------------------------------------- 94 | */ 95 | #convert_button 96 | { 97 | color: #fff; 98 | background-color: #007bff; 99 | border-color: #007bff; 100 | outline: none; 101 | } 102 | -------------------------------------------------------------------------------- /conversionTools/temperture/temperture.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | text-align: center; 21 | } 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper 28 | { 29 | width: 90%; 30 | height: 50vh; 31 | display: flex; 32 | margin: .5rem auto auto; 33 | align-items: center; 34 | justify-content: center; 35 | flex-direction: column; 36 | color: white; 37 | } 38 | /* 39 | *---------------------------------------------------------------- 40 | * temprature wrapper 41 | *---------------------------------------------------------------- 42 | */ 43 | .temp__wrapper 44 | { 45 | width: 50%; 46 | margin: 0 auto; 47 | display: flex; 48 | border-radius: 10px; 49 | height: 300px; 50 | flex-direction: column; 51 | justify-content: center; 52 | background-color: var(--indigo); 53 | } 54 | /* 55 | *---------------------------------------------------------------- 56 | * temprature container 57 | *---------------------------------------------------------------- 58 | */ 59 | .temp__container 60 | { 61 | display: flex; 62 | flex-direction: column; 63 | margin: 0 auto; 64 | } 65 | /* 66 | *---------------------------------------------------------------- 67 | * value ,result, button container 68 | *---------------------------------------------------------------- 69 | */ 70 | .value__container, 71 | .result__container, 72 | .button__container 73 | { 74 | margin: 10px auto; 75 | } 76 | /* 77 | *---------------------------------------------------------------- 78 | * value ,result dropdown box 79 | *---------------------------------------------------------------- 80 | */ 81 | #conversion_value, 82 | #conversion_result 83 | { 84 | color: #fff; 85 | background-color: #007bff; 86 | border-color: #007bff; 87 | outline: none; 88 | 89 | } 90 | /* 91 | *---------------------------------------------------------------- 92 | * convert button 93 | *---------------------------------------------------------------- 94 | */ 95 | #convert_button 96 | { 97 | color: #fff; 98 | background-color: #007bff; 99 | border-color: #007bff; 100 | outline: none; 101 | } -------------------------------------------------------------------------------- /conversionTools/frequency/frequency.js: -------------------------------------------------------------------------------- 1 | var fromUnit,toUnit = ""; 2 | var fromVal,toVal = ""; 3 | var textDesc = ""; 4 | var refDesc = ""; 5 | 6 | //Full-forms: 7 | var abbr = new Map([ 8 | ["Hz","Hertz"], 9 | ["kHz","KiloHertz"], 10 | ["MHz","MegaHertz"], 11 | ["rpm","Revolutions/min"], 12 | ["rps","Revolutions/sec"], 13 | ["rads","Radians/min"], 14 | ["radm","Radians/sec"] 15 | ]); 16 | 17 | //Reference: 18 | // 1 KiloHertz = 1000 Hertz 19 | // 1 MegaHertz = 1000 Kilohertz 20 | // 1 radian/second = 0.159155 Hertz 21 | // 1 radian/second = 9.5492966 RPM 22 | var valMap = new Map([ 23 | ["Hz:Hz","1"], 24 | ["Hz:kHz","0.001"], 25 | ["Hz:MHz","0.000001"], 26 | ["Hz:rpm","60"], 27 | ["Hz:rps","1"], 28 | ["Hz:rads","6.28318531"], 29 | ["Hz:radm","0.104719755"], 30 | ["kHz:Hz","1000"], 31 | ["kHz:kHz","1"], 32 | ["kHz:MHz","0.001"], 33 | ["kHz:rpm","0.06"], 34 | ["kHz:rps","0.001"], 35 | ["kHz:rads","6283.18531"], 36 | ["kHz:radm","104.719755"], 37 | ["MHz:Hz","1000000"], 38 | ["MHz:kHz","1000"], 39 | ["MHz:MHz","1"], 40 | ["MHz:rpm","0.00006"], 41 | ["MHz:rps","0.000001"], 42 | ["MHz:rads","6283185.31"], 43 | ["MHz:radm","104719.755"], 44 | ["rpm:Hz","0.016666667"], 45 | ["rpm:kHz","16.666667"], 46 | ["rpm:MHz","16666.667"], 47 | ["rpm:rpm","1"], 48 | ["rpm:rps","60"], 49 | ["rpm:rads","0.104719755"], 50 | ["rpm:radm","0.01745329"], 51 | ["rps:Hz","1"], 52 | ["rps:kHz","0.001"], 53 | ["rps:MHz","0.000001"], 54 | ["rps:rpm","0.016666667"], 55 | ["rps:rps","1"], 56 | ["rps:rads","6.28318531"], 57 | ["rps:radm","0.104719755"], 58 | ["rads:Hz","0.159154943"], 59 | ["rads:kHz","159.154943"], 60 | ["rads:MHz","159154.943"], 61 | ["rads:rpm","9.5492966"], 62 | ["rads:rps","572.957795"], 63 | ["rads:rads","1"], 64 | ["rads:radm","0.016666667"], 65 | ["radm:Hz","0.00265258333"], 66 | ["radm:kHz","2.65258333"], 67 | ["radm:MHz","2652.58333"], 68 | ["radm:rpm","572.957795"], 69 | ["radm:rps","34377.46776"], 70 | ["radm:rads","60"], 71 | ["radm:radm","1"] 72 | ]); 73 | 74 | function convert() 75 | { 76 | fromUnit=document.getElementById("fromUnit").value; 77 | toUnit=document.getElementById("toUnit").value; 78 | fromVal=document.getElementById("fromVal").value; 79 | 80 | calcAndDisp(fromUnit,toUnit,fromVal); 81 | } 82 | 83 | function dispRes() 84 | { 85 | document.getElementById("toVal").value=toVal; 86 | document.getElementById("textDesc").innerText=textDesc; 87 | document.getElementById("refDesc").innerText=refDesc; 88 | } 89 | 90 | function calcAndDisp(fromUnit,toUnit,fromVal) 91 | { 92 | toVal = fromVal*parseFloat(valMap.get(fromUnit+":"+toUnit)); 93 | console.log("toVal:"+toVal); 94 | textDesc = fromVal + " " + abbr.get(fromUnit) + " = " + toVal + " " + abbr.get(toUnit); 95 | refDesc = "1 " + abbr.get(fromUnit) + " = " + valMap.get(fromUnit+":"+toUnit) + " " + abbr.get(toUnit); 96 | console.log("textDesc:"+textDesc); 97 | 98 | dispRes(); 99 | } -------------------------------------------------------------------------------- /conversionTools/speed/speed.js: -------------------------------------------------------------------------------- 1 | function convertSpeed() { 2 | 3 | var speed = document.getElementById("idSpeedInput").value; 4 | var from = document.getElementById("speedOne").value; 5 | var to = document.getElementById("speedTwo").value; 6 | var resultado = 0; 7 | 8 | switch (from) { 9 | case 'km/h': 10 | if (to == "km/h") { 11 | resultado = speed; 12 | } else if (to == "m/s") { 13 | resultado = speed * 0.277778; 14 | } else if (to == "mph") { 15 | resultado = speed * 0.621371; 16 | } else if (to == "ft/s") { 17 | resultado = speed * 0.911344; 18 | } else if (to == "knots") { 19 | resultado = speed * 0.539957; 20 | } 21 | break; 22 | case 'm/s': 23 | if (to == "km/h") { 24 | resultado = speed / 0.277778; 25 | } else if (to == "m/s") { 26 | resultado = speed; 27 | } else if (to == "mph") { 28 | resultado = speed / 0.44704; 29 | } else if (to == "ft/s") { 30 | resultado = speed / 0.3048; 31 | } else if (to == "knots") { 32 | resultado = speed / 0.514444; 33 | } 34 | break; 35 | case 'mph': 36 | if (to == "km/h") { 37 | resultado = speed / 0.621371; 38 | } else if (to == "m/s") { 39 | resultado = speed * 0.44704; 40 | } else if (to == "mph") { 41 | resultado = speed; 42 | } else if (to == "ft/s") { 43 | resultado = speed / 0.681818; 44 | } else if (to == "knots") { 45 | resultado = speed * 0.868976; 46 | } 47 | break; 48 | 49 | case 'ft/s': 50 | if (to == "km/h") { 51 | resultado = speed / 0.911344; 52 | } else if (to == "m/s") { 53 | resultado = speed * 0.3048; 54 | } else if (to == "mph") { 55 | resultado = speed * 0.681818; 56 | } else if (to == "ft/s") { 57 | resultado = speed; 58 | } else if (to == "knots") { 59 | resultado = speed * 0.592484; 60 | } 61 | break; 62 | 63 | case 'knots': 64 | if (to == "km/h") { 65 | resultado = speed / 0.539957; 66 | } else if (to == "m/s") { 67 | resultado = speed * 0.514444; 68 | } else if (to == "mph") { 69 | resultado = speed / 0.868976; 70 | } else if (to == "ft/s") { 71 | resultado = speed / 0.592484; 72 | } else if (to == "knots") { 73 | resultado = speed; 74 | } 75 | break; 76 | } 77 | 78 | document.getElementById("idResult").innerHTML = resultado; 79 | 80 | } -------------------------------------------------------------------------------- /financeTools/mortgageCalculator/mortgageCalc.html: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 10 | 11 |12 | 13 | 17 | 21 | 22 | 23 | 24 | 38 | 39 | 40 | 41 |66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | -------------------------------------------------------------------------------- /dailyUseTools/morseConverter/morse.js: -------------------------------------------------------------------------------- 1 | 2 | var converter = { 3 | 'a': '.-', 4 | 'b': '-...', 5 | 'c': '-.-.', 6 | 'd': '-..', 7 | 'e': '.', 8 | 'f': '..-.', 9 | 'g': '--.', 10 | 'h': '....', 11 | 'i': '..', 12 | 'j': '.---', 13 | 'k': '-.-', 14 | 'l': '.-..', 15 | 'm': '--', 16 | 'n': '-.', 17 | 'o': '---', 18 | 'p': '.--.', 19 | 'q': '--.-', 20 | 'r': '.-.', 21 | 's': '...', 22 | 't': '-', 23 | 'u': '..-', 24 | 'v': '...-', 25 | 'w': '.--', 26 | 'x': '-..-', 27 | 'y': '-.--', 28 | 'z': '--..', 29 | '1': '.----', 30 | '2': '..---', 31 | '3': '...--', 32 | '4': '....-', 33 | '5': '.....', 34 | '6': '-....', 35 | '7': '--...', 36 | '8': '---..', 37 | '9': '----.', 38 | '0': '-----', 39 | '.': '.-.-.-', 40 | ',': '--..--', 41 | '?': '..--..', 42 | "'": '.----.', 43 | '!': '-.-.--', 44 | '/': '-..-.', 45 | '(': '-.--.', 46 | ')': '-.--.-', 47 | '&': '.-...', 48 | ':': '---...', 49 | ';': '-.-.-.', 50 | '=': '-...-', 51 | '+': '.-.-.', 52 | '-': '-....-', 53 | '_': '..--.-', 54 | '"': '.-..-.', 55 | '$': '...-..-', 56 | '@': '.--.-.', 57 | ' ': ' ', 58 | '\n': ' ', 59 | '\t': ' ' 60 | } 61 | 62 | function morseConv(value) { 63 | // console.log(value); 64 | var output = ''; 65 | for (var i = 0; i < value.length; i++) { 66 | if(converter[value.charAt(i)]==' ') 67 | output += '\\'; 68 | else{ 69 | output += converter[value.charAt(i).toLowerCase()]; 70 | 71 | output += ' '; 72 | } 73 | } 74 | document.getElementById("morse").innerHTML = output; 75 | } 76 | 77 | function play(){ 78 | var AudioContext = window.AudioContext || window.webkitAudioContext; 79 | var ctx = new AudioContext(); 80 | var dot = 1.2 / 15; 81 | var t = ctx.currentTime; 82 | 83 | var oscillator = ctx.createOscillator(); 84 | oscillator.type = "sine"; 85 | oscillator.frequency.value = 600; 86 | 87 | var gainNode = ctx.createGain(); 88 | gainNode.gain.setValueAtTime(0, t); 89 | 90 | document.getElementById("morse").innerHTML.split("").forEach(function(letter) { 91 | switch(letter) { 92 | case ".": 93 | 94 | gainNode.gain.setValueAtTime(1, t); 95 | t += dot; 96 | gainNode.gain.setValueAtTime(0, t); 97 | t += dot; 98 | break; 99 | case "-": 100 | gainNode.gain.setValueAtTime(1, t); 101 | t += 3 * dot; 102 | gainNode.gain.setValueAtTime(0, t); 103 | t += dot; 104 | break; 105 | case "\\": 106 | t += 7 * dot; 107 | break; 108 | case " ": 109 | t += 3 * dot; 110 | } 111 | }); 112 | 113 | oscillator.connect(gainNode); 114 | gainNode.connect(ctx.destination); 115 | 116 | oscillator.start(); 117 | 118 | return false; 119 | } -------------------------------------------------------------------------------- /boilerplate.template: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |42 |
Mortgage Calculator.
43 |
44 |Monthly Payment:
45 |46 |65 |47 |
60 |48 | 51 |Mortgage Amount: 49 |50 | 52 | 55 |Interest Rate (%) : 53 |54 | 56 | 59 |Amortization Period (Years): 57 |58 |
61 | 62 |
63 |Mortgage Payment: ____________
64 || Utility Website 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 30 | 31 |32 | 33 | 34 | 35 | 36 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | -------------------------------------------------------------------------------- /conversionTools/length/length.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-image: linear-gradient(90deg, #020024 0%, #090979 35%, #00d4ff 100%); 3 | } 4 | 5 | .container1 { 6 | height: 35vh; 7 | width: 100%; 8 | } 9 | 10 | .container2 { 11 | height: 47vh; 12 | } 13 | 14 | h1 { 15 | color: white; 16 | font-size: 65px; 17 | text-align: center; 18 | font-family: 'Lobster'; 19 | } 20 | 21 | h2 { 22 | color: white; 23 | text-align: center; 24 | } 25 | 26 | .container1 input { 27 | outline: none; 28 | margin: 0; 29 | border: none; 30 | -webkit-box-shadow: none; 31 | -moz-box-shadow: none; 32 | box-shadow: none; 33 | width: 15%; 34 | font-size: 50px; 35 | padding-top: 15px; 36 | border-bottom: 2px solid white; 37 | color: white; 38 | position: relative; 39 | top: 50%; 40 | left: 34%; 41 | background: transparent; 42 | } 43 | 44 | .container2 input { 45 | outline: none; 46 | margin: 0; 47 | border: none; 48 | -webkit-box-shadow: none; 49 | -moz-box-shadow: none; 50 | box-shadow: none; 51 | width: 15%; 52 | font-size: 50px; 53 | padding-top: 15px; 54 | border-bottom: 2px solid white; 55 | color: white; 56 | position: relative; 57 | top: 50%; 58 | left: 34%; 59 | background: transparent; 60 | } 61 | 62 | .container1 select { 63 | outline: none; 64 | margin: 0; 65 | border: none; 66 | -webkit-box-shadow: none; 67 | -moz-box-shadow: none; 68 | box-shadow: none; 69 | width: 13%; 70 | font-size: 20px; 71 | padding: 11px; 72 | background-color: blue; 73 | color: white; 74 | border: 2px solid white; 75 | border-radius: 15px; 76 | position: relative; 77 | top: 50%; 78 | left: 34%; 79 | background: transparent; 80 | margin-left: 15px; 81 | } 82 | 83 | .container2 select { 84 | outline: none; 85 | margin: 0; 86 | border: none; 87 | -webkit-box-shadow: none; 88 | -moz-box-shadow: none; 89 | box-shadow: none; 90 | width: 13%; 91 | font-size: 20px; 92 | padding: 11px; 93 | color: white; 94 | border: 2px solid white; 95 | border-radius: 15px; 96 | position: relative; 97 | top: 50%; 98 | left: 34%; 99 | background: transparent; 100 | margin-left: 15px; 101 | } 102 | 103 | @media (max-width: 576px) { 104 | .container1 select { 105 | top: 80%; 106 | left: -15%; 107 | width: 50%; 108 | } 109 | .container2 select { 110 | top: 80%; 111 | left: -15%; 112 | width: 50%; 113 | } 114 | .container2 { 115 | padding-bottom: 100px; 116 | } 117 | .container1 input { 118 | width: 40%; 119 | } 120 | .container2 input { 121 | width: 40%; 122 | padding-bottom: 5%; 123 | } 124 | } 125 | 126 | @media (max-width: 992px) { 127 | .container1 select { 128 | top: 80%; 129 | left: -15%; 130 | width: 50%; 131 | } 132 | .container2 select { 133 | top: 80%; 134 | left: -15%; 135 | width: 50%; 136 | } 137 | .container2 { 138 | padding-bottom: 100px; 139 | } 140 | .container1 input { 141 | width: 40%; 142 | } 143 | .container2 input { 144 | width: 40%; 145 | padding-bottom: 3.5%; 146 | } 147 | } 148 | 149 | .container1 option { 150 | background-color: #090979; 151 | } 152 | 153 | .container2 option { 154 | background-color: #090979; 155 | } -------------------------------------------------------------------------------- /dailyUseTools/notes/notes.js: -------------------------------------------------------------------------------- 1 | $(function () { 2 | 3 | localforage.iterate(function (value, key, iterationNumber) { 4 | // Resulting key/value pair -- this callback 5 | // will be executed for every item in the 6 | // database. 7 | createSavedEntry(key, value); 8 | 9 | }).then(function () { 10 | 11 | }).catch(function (err) { 12 | // This code runs if there were any errors 13 | console.log(err); 14 | }); 15 | }); 16 | 17 | 18 | let createSavedEntry = (timestamp, entry) => { 19 | let creationDate = new Date(parseFloat(timestamp)); 20 | let creationDateString = creationDate.toLocaleString(); 21 | let htmlEntry = ` 22 |23 |41 | 42 | ` 43 | $("#entryRow").append(htmlEntry); 44 | $('#' + timestamp).on('click', function (e) { 45 | let id = e.target.id; 46 | updateEntry(id); 47 | }); 48 | $('#' + timestamp + '-Delete').on('click', function (e) { 49 | let id = e.target.id.replace('-Delete', ''); 50 | removeEntry(id); 51 | 52 | }); 53 | } 54 | 55 | let removeEntry = (id) => { 56 | 57 | localforage.removeItem(id) 58 | .then(() => { 59 | // Do other things once the value has been saved. 60 | let entryCard = $('#' + id + '-Card'); 61 | entryCard.remove(); 62 | }).catch((err) => { 63 | // This code runs if there were any errors 64 | console.log(err); 65 | }); 66 | } 67 | 68 | 69 | let updateEntry = (id) => { 70 | let noteBody = $('#' + id + '-Body'); 71 | let noteTitle = $('#' + id + '-Title'); 72 | 73 | let note = { 74 | title: noteTitle.val(), 75 | body: noteBody.val() 76 | } 77 | saveEntry(id, note); 78 | } 79 | 80 | let saveEntry = (id, entry) => { 81 | 82 | localforage.setItem(id, entry) 83 | .then((value) => { 84 | // Do other things once the value has been saved. 85 | createSavedEntry(id, entry); 86 | }).catch((err) => { 87 | // This code runs if there were any errors 88 | console.log(err); 89 | }); 90 | 91 | } 92 | 93 | $('.saveNote').on('click', function () { 94 | let noteBody = $('#notesTextArea'); 95 | let noteTitle = $('#noteTitle'); 96 | let timestamp = new Date().getTime().toString(); 97 | let note = { 98 | title: noteTitle.val(), 99 | body: noteBody.val() 100 | } 101 | noteBody.val(''); 102 | noteTitle.val(''); 103 | saveEntry(timestamp, note); 104 | }); 105 | 106 | 107 | -------------------------------------------------------------------------------- /dailyUseTools/compass/Compass.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |24 |40 |25 | 26 | ${creationDateString} 27 |28 |29 |35 | 39 |30 | 32 | 33 |34 |Compass 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 37 | 38 | 39 | 40 | 41 |42 | 43 | 44 | 45 | 46 |47 | 48 |49 | 50 |51 | 52 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | -------------------------------------------------------------------------------- /conversionTools/image/image.js: -------------------------------------------------------------------------------- 1 | 2 | let imageName = 'image'; 3 | 4 | function readFile(input) { 5 | if (input.files && input.files[0] && input.files[0].name) { 6 | imageName = input.files[0].name; 7 | let imageLower = imageName.toLowerCase(); 8 | if (imageLower.endsWith('.png') || 9 | imageLower.endsWith('.jpg') || 10 | imageLower.endsWith('.jpeg')) { 11 | let reader = new FileReader(); 12 | 13 | reader.onload = function (e) { 14 | 15 | let isPng = false; 16 | if (imageLower.endsWith('.png')) { 17 | isPng = true; 18 | let button = $('.downloadJpg'); 19 | button.removeClass('hidden'); 20 | } else { 21 | let button = $('.downloadPng'); 22 | 23 | button.removeClass('hidden'); 24 | } 25 | const img = new Image(); 26 | img.onload = function () { 27 | 28 | let canvas = document.getElementById("convertCanvas"); 29 | let ctx = canvas.getContext("2d"); 30 | canvas.width = this.width; 31 | canvas.height = this.height; 32 | if (isPng) { 33 | ctx.fillStyle = "white"; 34 | ctx.fillRect(0, 0, canvas.width, canvas.height); 35 | } 36 | ctx.drawImage(img, 0, 0); 37 | } 38 | img.src = e.target.result 39 | 40 | let htmlPreview = 41 | '' + 42 | '
' + input.files[0].name + '
'; 43 | let wrapperZone = $(input).parent(); 44 | let previewZone = $('.preview-zone'); 45 | let boxZone = $('.preview-zone').find('.box').find('.box-body'); 46 | 47 | wrapperZone.removeClass('dragover'); 48 | previewZone.removeClass('hidden'); 49 | boxZone.empty(); 50 | boxZone.append(htmlPreview); 51 | // drawImage(); 52 | }; 53 | 54 | reader.readAsDataURL(input.files[0]); 55 | } 56 | 57 | } 58 | } 59 | 60 | 61 | function triggerDownload(imgURI, name) { 62 | let a = document.createElement('a'); 63 | a.setAttribute('download', name); 64 | a.setAttribute('href', imgURI); 65 | a.setAttribute('target', '_blank'); 66 | // a.dispatchEvent(evt); 67 | a.click(); 68 | a.remove(); 69 | } 70 | 71 | 72 | $(".dropzone").change(function () { 73 | readFile(this); 74 | }); 75 | 76 | $('.dropzone-wrapper').on('dragover', function (e) { 77 | e.preventDefault(); 78 | e.stopPropagation(); 79 | $(this).addClass('dragover'); 80 | }); 81 | 82 | $('.dropzone-wrapper').on('dragleave', function (e) { 83 | e.preventDefault(); 84 | e.stopPropagation(); 85 | $(this).removeClass('dragover'); 86 | }); 87 | 88 | $('.remove-preview').on('click', function () { 89 | let boxZone = $(this).parents('.preview-zone').find('.box-body'); 90 | let previewZone = $(this).parents('.preview-zone'); 91 | let dropzone = $(this).parents('.form-group').find('.dropzone'); 92 | boxZone.empty(); 93 | previewZone.addClass('hidden'); 94 | 95 | let jpgButton = $('.downloadJpg'); 96 | jpgButton.addClass('hidden'); 97 | 98 | let pngButton = $('.downloadPng'); 99 | pngButton.addClass('hidden'); 100 | $('#imageForm').trigger('reset'); 101 | }); 102 | 103 | $('.downloadPng').on('click', function () { 104 | let canvas = document.getElementById('convertCanvas'); 105 | let imgURI = canvas 106 | .toDataURL('image/png'); 107 | triggerDownload(imgURI, imageName) + '.png'; 108 | }); 109 | 110 | $('.downloadJpg').on('click', function () { 111 | let canvas = document.getElementById('convertCanvas'); 112 | 113 | let imgURI = canvas 114 | .toDataURL('image/jpeg', 0.8); 115 | triggerDownload(imgURI, imageName + '.jpg'); 116 | }); -------------------------------------------------------------------------------- /conversionTools/fuelEfficiency/fuel.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 |Fuel Efficiency Calculator 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 17 | 18 | 32 | 33 | 34 |35 |59 | 60 | 61 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /mathmeticalTools/LinearEquation/linearEquation.js: -------------------------------------------------------------------------------- 1 | 2 | var a1 = document.querySelector("#a1"); 3 | var a2 = document.querySelector("#a2"); 4 | var a3 = document.querySelector("#a3"); 5 | var b1 = document.querySelector("#b1"); 6 | var b2 = document.querySelector("#b2"); 7 | var b3 = document.querySelector("#b3"); 8 | var c1 = document.querySelector("#c1"); 9 | var c2 = document.querySelector("#c2"); 10 | var c3 = document.querySelector("#c3"); 11 | var d1 = document.querySelector("#d1"); 12 | var d2 = document.querySelector("#d2"); 13 | var d3 = document.querySelector("#d3"); 14 | var submit = document.querySelector("#submit"); 15 | var tryAgain = document.querySelector("#tryagain"); 16 | var doubleVar = document.querySelector("#doubleVar"); 17 | var tripleVar = document.querySelector("#tripleVar"); 18 | var xshow = document.querySelector("#x"); 19 | var yshow = document.querySelector("#y"); 20 | var zshow = document.querySelector("#z"); 21 | var doubleVarSwitch = false; 22 | var tripleVarSwitch = false; 23 | inputs= document.getElementsByTagName("input") 24 | for(var i=0;iFuel Efficiency Calculator
36 |37 | 40 | 41 |42 |43 | 46 | 47 |48 |49 | 50 |51 |52 | 55 | 57 |58 |7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 36 | 37 | 38 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /mathmeticalTools/percentageCalculator/percentageCalculator.css: -------------------------------------------------------------------------------- 1 | body{ 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | .ans{ 6 | border: 4px; 7 | border-color: black; 8 | color: green; 9 | font-weight: bold; 10 | font-size: 24px; 11 | } 12 | .cont { 13 | /*background: rgba(176, 224, 230, 0.6); 14 | display: flex; 15 | flex-direction: column; 16 | align-items: center; 17 | justify-content: center; 18 | border-radius: 5px ; 19 | padding: 1rem; 20 | box-shadow: 0 5px 20px darkgray; 21 | height: 53vh;*/ 22 | } 23 | 24 | .collapsible { 25 | background-color: #eee; 26 | color: #444; 27 | cursor: pointer; 28 | padding: 18px; 29 | width: 100%; 30 | border: none; 31 | text-align: left; 32 | outline: none; 33 | font-size: 15px; 34 | } 35 | 36 | .content { 37 | padding: 0 18px; 38 | display: none; 39 | overflow: hidden; 40 | background-color: #f1f1f1; 41 | } 42 | 43 | label, button, input{ 44 | font-size: 18px; 45 | } 46 | 47 | input{ 48 | background: rgba(173, 216, 230, 0.9); 49 | border: none; 50 | border-bottom: 2px solid darkgray; 51 | border-radius: 5px; 52 | padding: 9px 22px; 53 | margin: 8px 0; 54 | box-sizing: border-box; 55 | text-align: center; 56 | } 57 | 58 | .formula{ 59 | background: aliceblue; 60 | font-size: 15px; 61 | } 62 | .sec{ 63 | margin: 5%; 64 | margin-left: 15%; 65 | margin-right: 15% 66 | } 67 | @media screen and (max-width: 400px) { 68 | input { 69 | width: 100%; /* The width is 100%, when the viewport is 800px or smaller */ 70 | } 71 | .formula{ 72 | background: aliceblue; 73 | font-size:11.5px; 74 | } 75 | .sec{ 76 | margin: 5%; 77 | margin-left: 5%; 78 | margin-right: 5%; 79 | } 80 | } 81 | 82 | 83 | div.ct1 { 84 | background: rgba(176, 224, 230, 0.7); 85 | display: flex; 86 | flex-direction: column; 87 | align-items: center; 88 | justify-content: center; 89 | border-radius: 5px ; 90 | padding: 1rem; 91 | box-shadow: 0 5px 20px darkgray; 92 | min-height: 30vh; 93 | align-self: left; 94 | width: content; 95 | } 96 | 97 | .ct2 { 98 | background: rgba(173, 216, 230, 0.7); 99 | display: flex; 100 | flex-direction: column; 101 | align-items: center; 102 | justify-content: center; 103 | border-radius: 5px ; 104 | padding: 1rem; 105 | box-shadow: 0 5px 20px darkgray; 106 | min-height: 30vh; 107 | align-self: right; 108 | width: content; 109 | } 110 | 111 | .site-header{ 112 | background-color: rgba(0, 0, 0, .85); 113 | -webkit-backdrop-filter: saturate(180%) blur(20px); 114 | backdrop-filter: saturate(180%) blur(20px); 115 | } 116 | 117 | .hero-section { 118 | background-color: var(--indigo); 119 | } 120 | 121 | .hero-section__graphic, .hero-section__graphic:before, .hero-section__graphic:after { 122 | background-color: rgba(255,255,255,0.1); 123 | width: 10vh; 124 | height: 10vh; 125 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 126 | } 127 | 128 | .hero-section__graphic:before, .hero-section__graphic:after { 129 | content: ''; 130 | display: inline-block; 131 | position: absolute; 132 | left: 0; 133 | top: 0; 134 | animation: float 10s infinite linear; 135 | } 136 | .hero-section__graphic:after { 137 | animation-direction: reverse; 138 | animation-delay: 500ms; 139 | } 140 | 141 | .hero-section__icon{ 142 | fill: var(--light); 143 | width: 100%; 144 | height: auto; 145 | } 146 | 147 | 148 | @keyframes float { 149 | 0% { 150 | transform: translate(0%, 0%) rotate(0); 151 | } 152 | 153 | 33% { 154 | transform: translate(2%, 2%) rotate(120deg); 155 | } 156 | 157 | 66% { 158 | transform: translate(2%, -2%) rotate(240deg); 159 | } 160 | 161 | 162 | to { 163 | transform: translate(0%, 0%) rotate(360deg); 164 | } 165 | } 166 | 167 | -------------------------------------------------------------------------------- /mathmeticalTools/cubicEquation/cubicEquation.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: rgba(173, 216, 230, 0.3); 3 | font-family: "Multi", sans-serif; 4 | } 5 | 6 | @media screen and (max-width: 400px) { 7 | input { 8 | width: 100%; 9 | } 10 | } 11 | 12 | div#calculatorWrap { 13 | width: 400px; 14 | background: rgba(173, 216, 230, 0.9); 15 | padding: 0.5em 0.5em 0.5em 0.5em; 16 | border: 1px solid #aaa; 17 | border-radius: 5px; 18 | font-size: 0.9em; 19 | padding: 9px 22px; 20 | box-sizing: border-box; 21 | text-align: center; 22 | margin: auto; 23 | } 24 | 25 | div.calculatorTitle { 26 | color: #fff; 27 | background-color: #007bff; 28 | font-weight: bold; 29 | margin: -0.3em -0.3em 1em -0.3em; 30 | border-bottom: 1px solid #aaa; 31 | padding: 0.3em; 32 | text-align: center; 33 | border-radius: 5px; 34 | color: #333; 35 | } 36 | 37 | div.calculatorInputs { 38 | margin: 0.5em 0em 0.5em 0em; 39 | } 40 | 41 | div.calculatorInputGroup { 42 | text-align: center; 43 | margin-top: 0.25em; 44 | margin-bottom: 0.5em; 45 | } 46 | 47 | div.calculatorInputGroupAligned { 48 | text-align: left; 49 | margin: auto; 50 | margin-top: 0.25em; 51 | margin-bottom: 0.5em; 52 | } 53 | 54 | div.calculatorInputGroupAligned label, 55 | div.calculatorInputGroupAligned select, 56 | div.calculatorInputGroupAligned input { 57 | display: inline-block; 58 | } 59 | 60 | div.calculatorInputGroupAligned label { 61 | text-align: left; 62 | margin-right: 2px; 63 | } 64 | 65 | div.calculatorInputGroupInline { 66 | display: inline-block; 67 | margin-top: 0.25em; 68 | margin-bottom: 0.5em; 69 | } 70 | 71 | div.calculatorInputGroupInline label.aligned { 72 | width: 16em; 73 | } 74 | 75 | div.calculatorInputGroupPadding { 76 | padding: 6px 0px 6px 0px; 77 | } 78 | 79 | div.calculatorButton { 80 | margin: 0.5em 0em 0.5em 0em; 81 | background-color: #007bff; 82 | border-radius: 5px; 83 | } 84 | 85 | div.calculatorAnswer { 86 | color: #333333; 87 | border: 1px solid #aaa; 88 | border-radius: 4px; 89 | margin: 0em -0.3em -0.3em -0.3em; 90 | padding: 0.3em; 91 | font-size: 100%; 92 | } 93 | 94 | div#calculatorAnswer { 95 | color: #333333; 96 | background-color: #ffffff; 97 | border: 1px solid #aaa; 98 | border-radius: 4px; 99 | margin: 0em -0.3em -0.3em -0.3em; 100 | padding: 0.3em; 101 | font-size: 100%; 102 | } 103 | 104 | .site-header { 105 | background-color: rgba(0, 0, 0, 0.85); 106 | -webkit-backdrop-filter: saturate(180%) blur(20px); 107 | backdrop-filter: saturate(180%) blur(20px); 108 | } 109 | 110 | .hero-section { 111 | background-color: var(--indigo); 112 | } 113 | 114 | .hero-section__graphic, 115 | .hero-section__graphic:before, 116 | .hero-section__graphic:after { 117 | background-color: rgba(255, 255, 255, 0.1); 118 | width: 10vh; 119 | height: 10vh; 120 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 121 | } 122 | 123 | .hero-section__graphic:before, 124 | .hero-section__graphic:after { 125 | content: ""; 126 | display: inline-block; 127 | position: absolute; 128 | left: 0; 129 | top: 0; 130 | animation: float 10s infinite linear; 131 | } 132 | .hero-section__graphic:after { 133 | animation-direction: reverse; 134 | animation-delay: 500ms; 135 | } 136 | 137 | .hero-section__icon { 138 | fill: var(--light); 139 | width: 100%; 140 | height: auto; 141 | } 142 | @keyframes float { 143 | 0% { 144 | transform: translate(0%, 0%) rotate(0); 145 | } 146 | 147 | 33% { 148 | transform: translate(2%, 2%) rotate(120deg); 149 | } 150 | 151 | 66% { 152 | transform: translate(2%, -2%) rotate(240deg); 153 | } 154 | 155 | to { 156 | transform: translate(0%, 0%) rotate(360deg); 157 | } 158 | } 159 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | 2 | ### TLDR of contributing.md: 3 | 4 | - Ensure that no one is working on (or already completed) the tool you want to work on.`Tools marked with ☑ are already completed` 5 | - Use descriptive commit messages 6 | - You can create an issue for the tool you want to claim and work on 7 | - You can only use javascript. 8 | - After completing the tool add it to the `assets/config/tools.js` under the related category 9 | - **FOLLOW THE DIRECTORY STRUCTURE AND NAMING CONVENTION** 10 | - **UPDATE THE `README.md` FILE AS YOU WORK ON A NEW TOOL** 11 | 12 | 13 | ## Contributing Guidelines 14 | 15 | ### Follow the theme design/ Follow the design of `index.html` file. 16 | 17 | ### Folders and Files 18 | - Please make sure your folder is in any one of the Folder `conversionTools`,`mathmeticlaTools`,`financeTools` or `dailyUseTools`. For example if you want to work on length conversion tool then place your folder in the `conversionTools` folder. The list for tools with their respective folder is mentioned above 19 | - The name of your folder should be the name o the tool you are working on for example: if you want to work on length conversion tool, Then name your folder would be `length`. 20 | - Under your folder name your files as follows. For length conversion tool the files would be `length.html`, `length.css`,`length.js` 21 | - Copy the content of `boilerplate.template` to your tool's html file and follow the comments marked with **$**. 22 | - At the end link your files properly 23 | - Add your name to the footer of your tool's html you are working on. For example if you are working on length conversion tool then 24 | add your name in the footer of `lenght.html`. 25 | - `Add screenShot` of your Tool in PR Message and in your Tool's Folder. 26 | - At the end add your tool to the `assets/config/tools.js` under the related category 27 | 28 | ### Tools.js 29 | - Find your tool's category 30 | - Inside the tool's category array, add the tool object 31 | - Add title in a well formatted text; for example: `Length Conversion`. 32 | - Add a short description about your tool. 33 | - Add URL of your tool following this format: `/FOLDER_NAME/TOOL_HTML_NAME.html` 34 | 35 | ### Opening Issues 36 | When you open an issue, please make sure the Tool is not already implemented. 37 | Opened Issues by existing Problem will be closed & PR made to this Issue marked as **spam** 38 | The Contributor who opened an issue will be assigned/prefered to the issue. If there is no PR within about 7 Days the issue will be assigned to another Contributor. 39 | 40 | ### Pull Requests 41 | - Only Pull Requests **joined with an Issue** and matching the **naming-conventions** (See Folders and Files) will be merged! 42 | - If there is no Issue joined in the PR your PR will be labled as **spam** and closed. 43 | - If your code don't passes the Checks your PR will be labled as **"invalid"** and the Issue stays open for the next PR! 44 | - If your PR doesn't follow the Contributing Guidelines of this Repository it will be also marked as **spam** and closed! 45 | 46 | ## Getting Started 47 | * Fork this repository (Click the Fork button, top right of this page) 48 | * Clone your fork down to your local machine 49 | ```markdown 50 | git clone https://github.com/your-username/utility.git 51 | ``` 52 | * Comment to the Issue you want to work on - so I can assign you to it OR create a new Issue. 53 | * Create a branch for a new feature 54 | ```markdown 55 | git checkout -b feature/branch-name 56 | ``` 57 | * Or if its a bugfix to a file 58 | ```markdown 59 | git checkout -b bugfix/branch-name 60 | ``` 61 | * Make your changes (choose from the Tasks above!) 62 | * Commit and Push 63 | ```markdown 64 | git add . 65 | git commit -m 'commit message' 66 | git push origin branch-name 67 | ``` 68 | * Create a New Pull Request from your forked repository ( Click the 'New Pull Request' Button located at the top of your repo) 69 | * Wait for your PR review and merge approval! 70 | * __Star this repository__ if you had fun! 71 | 72 | ## Which PR will be accepted? 73 | * Ones you are assigned to. 74 | * Your PR has to link the Issue. 75 | * Your Solution must be correct. 76 | 77 | __Thank You!__ 78 | -------------------------------------------------------------------------------- /mathmeticalTools/ratio/ratio.css: -------------------------------------------------------------------------------- 1 | /* 2 | *---------------------------------------------------------------- 3 | * SITE HEADER 4 | *---------------------------------------------------------------- 5 | */ 6 | .site-header { 7 | background-color: rgba(0, 0, 0, 0.85); 8 | -webkit-backdrop-filter: saturate(180%) blur(20px); 9 | backdrop-filter: saturate(180%) blur(20px); 10 | } 11 | 12 | /* 13 | *---------------------------------------------------------------- 14 | * heading 15 | *---------------------------------------------------------------- 16 | */ 17 | .heading { 18 | /* margin-top: 50px; */ 19 | text-align: center; 20 | } 21 | 22 | /* 23 | *---------------------------------------------------------------- 24 | * container 25 | *---------------------------------------------------------------- 26 | */ 27 | .container_wrapper { 28 | width: 90%; 29 | height: auto; 30 | display: flex; 31 | margin: .5rem auto auto; 32 | align-items: center; 33 | justify-content: center; 34 | flex-direction: column; 35 | color: white; 36 | padding: 2rem 0; 37 | } 38 | 39 | .container_wrapper label { 40 | color: grey; 41 | } 42 | 43 | /*ratiobox*/ 44 | .ratiobox { 45 | text-align: center; 46 | box-shadow: 1px 2px 20px #2828288c; 47 | padding: 1.5rem; 48 | border-radius: 1rem; 49 | } 50 | 51 | .comparison-box { 52 | background: #2a2a2a; 53 | color: white; 54 | padding: 1rem; 55 | margin-top: 1rem; 56 | border-bottom-left-radius: 0.5rem; 57 | border-bottom-right-radius: 0.5rem; 58 | } 59 | 60 | .comparison-box p { 61 | color: white; 62 | font-size: 0.95rem; 63 | text-align: center; 64 | margin-bottom: 0; 65 | } 66 | 67 | .simplification-box { 68 | margin-top: 1rem; 69 | background: #4CAF50; 70 | color: white; 71 | padding: 0.7rem 1rem; 72 | } 73 | 74 | .simplification-box p { 75 | font-size: 1.1rem; 76 | text-align: center; 77 | margin-bottom: 0; 78 | font-weight: 500; 79 | } 80 | 81 | input, select { 82 | padding: 0.5rem; 83 | border-radius: 0.4rem; 84 | border: 1px solid #abaaaa; 85 | min-width: 13rem; 86 | } 87 | 88 | .eachbox { 89 | margin-top: 1rem; 90 | } 91 | 92 | .eachbox p { 93 | margin-bottom: 0.5rem; 94 | color: grey; 95 | } 96 | 97 | .eachbox button { 98 | color: #6610f2; 99 | border-color: #6610f2; 100 | } 101 | 102 | 103 | input::-webkit-outer-spin-button, 104 | input::-webkit-inner-spin-button { 105 | -webkit-appearance: none; 106 | margin: 0; 107 | } 108 | 109 | *:focus { 110 | outline: none; 111 | } 112 | 113 | 114 | /* 115 | *---------------------------------------------------------------- 116 | * HERO SECTION 117 | *---------------------------------------------------------------- 118 | */ 119 | .hero-section { 120 | background-color: var(--indigo); 121 | } 122 | 123 | .hero-section__graphic, 124 | .hero-section__graphic:before, 125 | .hero-section__graphic:after { 126 | background-color: rgba(255, 255, 255, 0.1); 127 | width: 250px; 128 | height: 200px; 129 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 130 | } 131 | 132 | .hero-section__graphic:before, 133 | .hero-section__graphic:after { 134 | content: ""; 135 | display: inline-block; 136 | position: absolute; 137 | left: 0; 138 | top: 0; 139 | animation: float 10s infinite linear; 140 | } 141 | 142 | .hero-section__graphic:after { 143 | animation-direction: reverse; 144 | animation-delay: 500ms; 145 | } 146 | 147 | .hero-section__icon { 148 | fill: var(--light); 149 | width: 100%; 150 | height: auto; 151 | } 152 | 153 | @keyframes float { 154 | 0% { 155 | transform: translate(0%, 0%) rotate(0); 156 | } 157 | 158 | 33% { 159 | transform: translate(2%, 2%) rotate(120deg); 160 | } 161 | 162 | 66% { 163 | transform: translate(2%, -2%) rotate(240deg); 164 | } 165 | 166 | to { 167 | transform: translate(0%, 0%) rotate(360deg); 168 | } 169 | } 170 | 171 | 172 | /* Testing */ 173 | img { 174 | width: 135px; 175 | height: 135px; 176 | position: relative; 177 | left: 58px; 178 | top: 30px; 179 | } 180 | -------------------------------------------------------------------------------- /conversionTools/frequency/frequency.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | padding: 2rem 0; 38 | } 39 | 40 | .card 41 | { 42 | text-align: center; 43 | box-shadow: 1px 2px 20px #2828288c; 44 | padding: 20px; 45 | border-radius: 1rem; 46 | } 47 | 48 | .formulabox 49 | { 50 | background: #e2dcff; 51 | color: black; 52 | padding: 1rem; 53 | margin-top: 0.5rem; 54 | border-radius: 0.5rem; 55 | } 56 | .formulabox p 57 | { 58 | color: rgb(74, 84, 94); 59 | font-size: 0.95rem; 60 | text-align: center; 61 | margin-bottom: 0; 62 | } 63 | .resultbox 64 | { 65 | margin-top: 0.5rem; 66 | margin-bottom: 0.5rem; 67 | background:rgb(96, 49, 207); 68 | color: white; 69 | padding: 0.7rem 1rem; 70 | border-radius: 0.5rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | input,select 80 | { 81 | padding: 0.5rem; 82 | border-radius: 0.4rem; 83 | border: 1px solid #abaaaa; 84 | min-width: 13rem; 85 | } 86 | .eachbox 87 | { 88 | margin-top: 1rem; 89 | } 90 | .eachbox p 91 | { 92 | margin-bottom: 0.5rem; 93 | color: grey; 94 | } 95 | .eachboxp 96 | { 97 | margin-bottom: 0; 98 | margin-top: 1rem; 99 | color: grey; 100 | } 101 | 102 | input::-webkit-outer-spin-button, 103 | input::-webkit-inner-spin-button { 104 | -webkit-appearance: none; 105 | margin: 0; 106 | } 107 | *:focus { 108 | outline: none; 109 | } 110 | 111 | /*list style*/ 112 | 113 | .liststyle 114 | { 115 | font-style: italic; 116 | font-size: 0.9rem; 117 | color: #e1e1e1; 118 | list-style: inside; 119 | padding-left: 0; 120 | } 121 | 122 | /* 123 | *---------------------------------------------------------------- 124 | * HERO SECTION 125 | *---------------------------------------------------------------- 126 | */ 127 | .hero-section { 128 | background-color: var(--indigo); 129 | } 130 | 131 | .hero-section__graphic, 132 | .hero-section__graphic:before, 133 | .hero-section__graphic:after { 134 | background-color: rgba(255, 255, 255, 0.1); 135 | width: 300px; 136 | height: 200px; 137 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 138 | } 139 | 140 | .hero-section__graphic:before, 141 | .hero-section__graphic:after { 142 | content: ""; 143 | display: inline-block; 144 | position: absolute; 145 | left: 0; 146 | top: 0; 147 | animation: float 10s infinite linear; 148 | } 149 | .hero-section__graphic:after { 150 | animation-direction: reverse; 151 | animation-delay: 500ms; 152 | } 153 | 154 | .hero-section__icon { 155 | fill: var(--light); 156 | width: 100%; 157 | height: auto; 158 | } 159 | 160 | @keyframes float { 161 | 0% { 162 | transform: translate(0%, 0%) rotate(0); 163 | } 164 | 165 | 33% { 166 | transform: translate(2%, 2%) rotate(120deg); 167 | } 168 | 169 | 66% { 170 | transform: translate(2%, -2%) rotate(240deg); 171 | } 172 | 173 | to { 174 | transform: translate(0%, 0%) rotate(360deg); 175 | } 176 | } 177 | 178 | img { 179 | width: 135px; 180 | height: 135px; 181 | position: relative; 182 | left: 83px; 183 | top: 30px; 184 | } -------------------------------------------------------------------------------- /conversionTools/pressure/pressure.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0 3rem; 39 | } 40 | 41 | /*pressurebox*/ 42 | .pressurebox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .formulabox 50 | { 51 | background: #2a2a2a; 52 | color: white; 53 | padding: 1rem; 54 | margin-top: 1rem; 55 | border-bottom-left-radius: 0.5rem; 56 | border-bottom-right-radius: 0.5rem; 57 | } 58 | .formulabox p 59 | { 60 | color: white; 61 | font-size: 0.95rem; 62 | text-align: center; 63 | margin-bottom: 0; 64 | } 65 | .resultbox 66 | { 67 | margin-top: 1rem; 68 | background: #4CAF50; 69 | color: white; 70 | padding: 0.7rem 1rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | input,select 80 | { 81 | padding: 0.5rem; 82 | border-radius: 0.4rem; 83 | border: 1px solid #abaaaa; 84 | } 85 | .eachbox 86 | { 87 | margin-top: 1rem; 88 | } 89 | .eachbox p 90 | { 91 | margin-bottom: 0.5rem; 92 | color: grey; 93 | } 94 | 95 | 96 | input::-webkit-outer-spin-button, 97 | input::-webkit-inner-spin-button { 98 | -webkit-appearance: none; 99 | margin: 0; 100 | } 101 | *:focus { 102 | outline: none; 103 | } 104 | 105 | /*list style*/ 106 | 107 | .liststyle 108 | { 109 | font-style: italic; 110 | font-size: 0.9rem; 111 | color: #e1e1e1; 112 | list-style: inside; 113 | padding-left: 0; 114 | } 115 | 116 | /*list style ends*/ 117 | 118 | 119 | 120 | 121 | /* 122 | *---------------------------------------------------------------- 123 | * HERO SECTION 124 | *---------------------------------------------------------------- 125 | */ 126 | .hero-section { 127 | background-color: var(--indigo); 128 | } 129 | 130 | .hero-section__graphic, 131 | .hero-section__graphic:before, 132 | .hero-section__graphic:after { 133 | background-color: rgba(255, 255, 255, 0.1); 134 | width: 300px; 135 | height: 200px; 136 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 137 | } 138 | 139 | .hero-section__graphic:before, 140 | .hero-section__graphic:after { 141 | content: ""; 142 | display: inline-block; 143 | position: absolute; 144 | left: 0; 145 | top: 0; 146 | animation: float 10s infinite linear; 147 | } 148 | .hero-section__graphic:after { 149 | animation-direction: reverse; 150 | animation-delay: 500ms; 151 | } 152 | 153 | .hero-section__icon { 154 | fill: var(--light); 155 | width: 100%; 156 | height: auto; 157 | } 158 | 159 | @keyframes float { 160 | 0% { 161 | transform: translate(0%, 0%) rotate(0); 162 | } 163 | 164 | 33% { 165 | transform: translate(2%, 2%) rotate(120deg); 166 | } 167 | 168 | 66% { 169 | transform: translate(2%, -2%) rotate(240deg); 170 | } 171 | 172 | to { 173 | transform: translate(0%, 0%) rotate(360deg); 174 | } 175 | } 176 | 177 | 178 | /* Testing */ 179 | img { 180 | width: 135px; 181 | height: 135px; 182 | position: relative; 183 | left: 83px; 184 | top: 30px; 185 | } -------------------------------------------------------------------------------- /conversionTools/power/power.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0; 39 | } 40 | 41 | /*powerbox*/ 42 | .powerbox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .formulabox 50 | { 51 | background: #2a2a2a; 52 | color: white; 53 | padding: 1rem; 54 | margin-top: 1rem; 55 | border-bottom-left-radius: 0.5rem; 56 | border-bottom-right-radius: 0.5rem; 57 | } 58 | .formulabox p 59 | { 60 | color: white; 61 | font-size: 0.95rem; 62 | text-align: center; 63 | margin-bottom: 0; 64 | } 65 | .resultbox 66 | { 67 | margin-top: 1rem; 68 | background: #4CAF50; 69 | color: white; 70 | padding: 0.7rem 1rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | input,select 80 | { 81 | padding: 0.5rem; 82 | border-radius: 0.4rem; 83 | border: 1px solid #abaaaa; 84 | min-width: 13rem; 85 | } 86 | .eachbox 87 | { 88 | margin-top: 1rem; 89 | } 90 | .eachbox p 91 | { 92 | margin-bottom: 0.5rem; 93 | color: grey; 94 | } 95 | 96 | 97 | input::-webkit-outer-spin-button, 98 | input::-webkit-inner-spin-button { 99 | -webkit-appearance: none; 100 | margin: 0; 101 | } 102 | *:focus { 103 | outline: none; 104 | } 105 | 106 | /*list style*/ 107 | 108 | .liststyle 109 | { 110 | font-style: italic; 111 | font-size: 0.9rem; 112 | color: #e1e1e1; 113 | list-style: inside; 114 | padding-left: 0; 115 | } 116 | 117 | /*list style ends*/ 118 | 119 | 120 | 121 | 122 | /* 123 | *---------------------------------------------------------------- 124 | * HERO SECTION 125 | *---------------------------------------------------------------- 126 | */ 127 | .hero-section { 128 | background-color: var(--indigo); 129 | } 130 | 131 | .hero-section__graphic, 132 | .hero-section__graphic:before, 133 | .hero-section__graphic:after { 134 | background-color: rgba(255, 255, 255, 0.1); 135 | width: 300px; 136 | height: 200px; 137 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 138 | } 139 | 140 | .hero-section__graphic:before, 141 | .hero-section__graphic:after { 142 | content: ""; 143 | display: inline-block; 144 | position: absolute; 145 | left: 0; 146 | top: 0; 147 | animation: float 10s infinite linear; 148 | } 149 | .hero-section__graphic:after { 150 | animation-direction: reverse; 151 | animation-delay: 500ms; 152 | } 153 | 154 | .hero-section__icon { 155 | fill: var(--light); 156 | width: 100%; 157 | height: auto; 158 | } 159 | 160 | @keyframes float { 161 | 0% { 162 | transform: translate(0%, 0%) rotate(0); 163 | } 164 | 165 | 33% { 166 | transform: translate(2%, 2%) rotate(120deg); 167 | } 168 | 169 | 66% { 170 | transform: translate(2%, -2%) rotate(240deg); 171 | } 172 | 173 | to { 174 | transform: translate(0%, 0%) rotate(360deg); 175 | } 176 | } 177 | 178 | 179 | /* Testing */ 180 | img { 181 | width: 135px; 182 | height: 135px; 183 | position: relative; 184 | left: 83px; 185 | top: 30px; 186 | } -------------------------------------------------------------------------------- /conversionTools/resistance/resistance.css: -------------------------------------------------------------------------------- 1 | 2 | 3 | /* 4 | *---------------------------------------------------------------- 5 | * SITE HEADER 6 | *---------------------------------------------------------------- 7 | */ 8 | .site-header { 9 | background-color: rgba(0, 0, 0, 0.85); 10 | -webkit-backdrop-filter: saturate(180%) blur(20px); 11 | backdrop-filter: saturate(180%) blur(20px); 12 | } 13 | /* 14 | *---------------------------------------------------------------- 15 | * heading 16 | *---------------------------------------------------------------- 17 | */ 18 | .heading 19 | { 20 | /* margin-top: 50px; */ 21 | text-align: center; 22 | } 23 | /* 24 | *---------------------------------------------------------------- 25 | * container 26 | *---------------------------------------------------------------- 27 | */ 28 | .container_wrapper 29 | { 30 | width: 90%; 31 | height:auto; 32 | display: flex; 33 | margin: .5rem auto auto; 34 | align-items: center; 35 | justify-content: center; 36 | flex-direction: column; 37 | color: white; 38 | padding: 2rem 0; 39 | } 40 | 41 | /*resistancebox*/ 42 | .resistancebox 43 | { 44 | text-align: center; 45 | box-shadow: 1px 2px 20px #2828288c; 46 | padding: 1.5rem; 47 | border-radius: 1rem; 48 | } 49 | .formulabox 50 | { 51 | background: #2a2a2a; 52 | color: white; 53 | padding: 1rem; 54 | margin-top: 1rem; 55 | border-bottom-left-radius: 0.5rem; 56 | border-bottom-right-radius: 0.5rem; 57 | } 58 | .formulabox p 59 | { 60 | color: white; 61 | font-size: 0.95rem; 62 | text-align: center; 63 | margin-bottom: 0; 64 | } 65 | .resultbox 66 | { 67 | margin-top: 1rem; 68 | background: #4CAF50; 69 | color: white; 70 | padding: 0.7rem 1rem; 71 | } 72 | .resultbox p 73 | { 74 | font-size: 1.1rem; 75 | text-align: center; 76 | margin-bottom: 0; 77 | font-weight: 500; 78 | } 79 | #resistancetoval 80 | { 81 | cursor: no-drop; 82 | } 83 | input,select 84 | { 85 | padding: 0.5rem; 86 | border-radius: 0.4rem; 87 | border: 1px solid #abaaaa; 88 | min-width: 13rem; 89 | } 90 | .eachbox 91 | { 92 | margin-top: 1rem; 93 | } 94 | .eachbox p 95 | { 96 | margin-bottom: 0.5rem; 97 | color: grey; 98 | } 99 | 100 | 101 | input::-webkit-outer-spin-button, 102 | input::-webkit-inner-spin-button { 103 | -webkit-appearance: none; 104 | margin: 0; 105 | } 106 | *:focus { 107 | outline: none; 108 | } 109 | 110 | /*list style*/ 111 | 112 | .liststyle 113 | { 114 | font-style: italic; 115 | font-size: 0.9rem; 116 | color: #e1e1e1; 117 | list-style: inside; 118 | padding-left: 0; 119 | } 120 | 121 | /*list style ends*/ 122 | 123 | 124 | 125 | 126 | /* 127 | *---------------------------------------------------------------- 128 | * HERO SECTION 129 | *---------------------------------------------------------------- 130 | */ 131 | .hero-section { 132 | background-color: var(--indigo); 133 | } 134 | 135 | .hero-section__graphic, 136 | .hero-section__graphic:before, 137 | .hero-section__graphic:after { 138 | background-color: rgba(255, 255, 255, 0.1); 139 | width: 300px; 140 | height: 200px; 141 | border-radius: 40% 30% 30% 40% / 60% 40% 60% 40%; 142 | } 143 | 144 | .hero-section__graphic:before, 145 | .hero-section__graphic:after { 146 | content: ""; 147 | display: inline-block; 148 | position: absolute; 149 | left: 0; 150 | top: 0; 151 | animation: float 10s infinite linear; 152 | } 153 | .hero-section__graphic:after { 154 | animation-direction: reverse; 155 | animation-delay: 500ms; 156 | } 157 | 158 | .hero-section__icon { 159 | fill: var(--light); 160 | width: 100%; 161 | height: auto; 162 | } 163 | 164 | @keyframes float { 165 | 0% { 166 | transform: translate(0%, 0%) rotate(0); 167 | } 168 | 169 | 33% { 170 | transform: translate(2%, 2%) rotate(120deg); 171 | } 172 | 173 | 66% { 174 | transform: translate(2%, -2%) rotate(240deg); 175 | } 176 | 177 | to { 178 | transform: translate(0%, 0%) rotate(360deg); 179 | } 180 | } 181 | 182 | 183 | /* Testing */ 184 | img { 185 | width: 135px; 186 | height: 135px; 187 | position: relative; 188 | left: 83px; 189 | top: 30px; 190 | } -------------------------------------------------------------------------------- /conversionTools/Energy/energy.js: -------------------------------------------------------------------------------- 1 | var unitWeights={}; 2 | unitWeights['nJ'] = 0.000000001; 3 | unitWeights['uJ'] = 0.000001; 4 | unitWeights['mJ'] = 0.001; 5 | unitWeights['J'] = 1; 6 | unitWeights['kJ'] = 1000; 7 | unitWeights['MJ'] = 1000000; 8 | unitWeights['GJ'] = 1000000000; 9 | unitWeights['W-h'] = 3600; 10 | unitWeights['kW-h'] = 3600000; 11 | unitWeights['MW-h'] = 3600000000; 12 | unitWeights['GW-h'] = 3600000000000; 13 | unitWeights['calIT'] = 4.1868; 14 | unitWeights['kcalIT'] = 4186.8; 15 | unitWeights['calth'] = 4.184; 16 | unitWeights['kcalth'] = 4184; 17 | unitWeights['hp-h'] = 2684519.5369; 18 | unitWeights['eV'] = 1.60217733e-19; 19 | unitWeights['keV'] = 1.60217733e-16; 20 | unitWeights['MeV'] = 1.60217733e-13; 21 | unitWeights['GeV'] = 1.60217733e-10; 22 | unitWeights['erg'] = 1e-7; 23 | unitWeights['Nm'] = 1; 24 | unitWeights['dyn-cm'] = 1e-7; 25 | unitWeights['kgf-m'] = 9.8066499997; 26 | unitWeights['gf-m'] = 0.00980665; 27 | unitWeights['gf-cm'] = 0.0000980665; 28 | unitWeights['kgf-cm'] = 0.0980665; 29 | unitWeights['lbf-ft'] = 1.3558179483; 30 | unitWeights['lbf-in'] = 0.112984829; 31 | unitWeights['ozf-in'] = 0.0070615518; 32 | unitWeights['kp-m'] = 9.8066499997; 33 | unitWeights['btu-it'] = 1055.0558526; 34 | unitWeights['btu-th'] = 1054.35; 35 | unitWeights['ton'] = 4184000000; 36 | unitWeights['kton'] = 4184000000000; 37 | unitWeights['Mton'] = 4184000000000000; 38 | 39 | 40 | 41 | var formula={}; 42 | formula['nJ'] = 'nJ'; 43 | formula['uJ'] = 'μJ'; 44 | formula['mJ'] = 'mJ'; 45 | formula['J'] = 'J'; 46 | formula['kJ'] = 'kJ'; 47 | formula['MJ'] = 'MJ'; 48 | formula['GJ'] = 'GJ'; 49 | formula['W-h'] = 'W-h'; 50 | formula['kW-h'] = 'kW-h'; 51 | formula['MW-h'] = 'MW-h'; 52 | formula['GW-h'] = 'GW-h'; 53 | formula['calIT'] = 'cal (IT)'; 54 | formula['kcalIT'] = 'kcal (IT)'; 55 | formula['calth'] = 'cal (th)'; 56 | formula['kcalth'] = 'kcal (th)'; 57 | formula['hp-h'] = 'hp.h'; 58 | formula['eV'] = 'eV'; 59 | formula['keV'] = 'keV'; 60 | formula['MeV'] = 'MeV'; 61 | formula['GeV'] = 'GeV'; 62 | formula['erg'] = 'erg'; 63 | formula['Nm'] = 'N.m'; 64 | formula['dyn-cm'] = 'dyn.cm'; 65 | formula['kgf-m'] = 'kgf.m'; 66 | formula['gf-m'] = 'gf.m'; 67 | formula['gf-cm'] = 'gf.cm'; 68 | formula['kgf-cm'] = 'kgf.cm'; 69 | formula['lbf-ft'] = 'lbf.ft'; 70 | formula['lbf-in'] = 'lbf.in'; 71 | formula['ozf-in'] = 'ozf.in'; 72 | formula['kp-m'] = 'kp.m'; 73 | formula['btu-it'] = 'Btu (IT)'; 74 | formula['btu-th'] = 'Btu (th)'; 75 | formula['ton'] = 'ton (explosive)'; 76 | formula['kton'] = 'kton (explosive)'; 77 | formula['Mton'] = 'Mton (explosive)'; 78 | 79 | const findFloatingCorrection = (x) => { 80 | let correction = 1; 81 | let xSplit; 82 | if (x.toString().includes('e')) { 83 | xSplit = x.toString().split('e'); 84 | correction = Math.pow(10, Math.abs(xSplit[1])); 85 | } 86 | if ((x*correction).toString().includes('.')) { 87 | let parts = x.toString().split('.'); 88 | correction = correction * Math.pow(10, parts[1].length); 89 | } 90 | return correction; 91 | } 92 | 93 | 94 | let factor = 0; 95 | 96 | function calculateUnit1(){ 97 | const unit1 = Number(unitWeights[document.getElementById('s1').value].toString()); 98 | const unit2 = unitWeights[document.getElementById('s2').value]; 99 | const correctionFactor = Math.max(findFloatingCorrection(unit1),findFloatingCorrection(1 / unit2)); 100 | factor = unit1*correctionFactor / (unit2 *correctionFactor); 101 | document.getElementById('inp2').value = document.getElementById('inp1').value * factor; 102 | document.getElementById('formula').innerHTML = '1 '+formula[document.getElementById('s1').value]+' = '+factor+' '+formula[document.getElementById('s2').value]; 103 | } 104 | 105 | function calculateUnit2(){ 106 | const unit1 = Number(unitWeights[document.getElementById('s1').value].toString()); 107 | const unit2 = unitWeights[document.getElementById('s2').value]; 108 | const correctionFactor = Math.max(findFloatingCorrection(unit2),findFloatingCorrection(1 / unit1)); 109 | factor = unit2*correctionFactor / (unit1 *correctionFactor); 110 | document.getElementById('inp1').value = document.getElementById('inp2').value * factor; 111 | document.getElementById('formula').innerHTML = '1 '+formula[document.getElementById('s2').value]+' = '+factor+' '+formula[document.getElementById('s1').value]; 112 | } 113 | function recalculateUnits(){ 114 | document.getElementById('inp1').value = 1; 115 | calculateUnit1(); 116 | } 117 | -------------------------------------------------------------------------------- /conversionTools/imagePdf/imagePdf.js: -------------------------------------------------------------------------------- 1 | 2 | let imageName = 'image'; 3 | let svgData = undefined; 4 | let data = undefined; 5 | imageWidth = 0; 6 | imageHeight = 0; 7 | 8 | function readFile(input) { 9 | if (input.files && input.files[0] && input.files[0].name) { 10 | imageName = input.files[0].name; 11 | let imageLower = imageName.toLowerCase(); 12 | if (imageLower.endsWith('.png') || 13 | imageLower.endsWith('.jpg') || 14 | imageLower.endsWith('.jpeg') 15 | 16 | ) { 17 | let reader = new FileReader(); 18 | 19 | reader.onload = function (e) { 20 | data = e.target.result 21 | console.log('data', data) 22 | let htmlPreview = 23 | 'Length Converter
39 |40 | 41 | 52 |53 |54 | 55 | 66 |67 |' + 24 | '
' + input.files[0].name + '
'; 25 | 26 | const img = new Image(); 27 | img.onload = function () { 28 | imageWidth = this.width; 29 | imageHeight = this.height; 30 | } 31 | img.src = data; 32 | let wrapperZone = $(input).parent(); 33 | let previewZone = $('.preview-zone'); 34 | let boxZone = $('.preview-zone').find('.box').find('.box-body'); 35 | let pdfTools = $('.pdfTools'); 36 | pdfTools.removeClass('hidden'); 37 | wrapperZone.removeClass('dragover'); 38 | previewZone.removeClass('hidden'); 39 | boxZone.empty(); 40 | boxZone.append(htmlPreview); 41 | // drawImage(); 42 | }; 43 | 44 | reader.readAsDataURL(input.files[0]); 45 | } else if (imageLower.endsWith('.svg')) { 46 | let reader = new FileReader(); 47 | reader.onload = function (e) { 48 | svgData = e.target.result; 49 | let htmlPreview = svgData; 50 | let wrapperZone = $(input).parent(); 51 | let previewZone = $('.preview-zone'); 52 | let boxZone = $('.preview-zone').find('.box').find('.box-body'); 53 | let pdfTools = $('.pdfTools'); 54 | pdfTools.removeClass('hidden'); 55 | wrapperZone.removeClass('dragover'); 56 | previewZone.removeClass('hidden'); 57 | boxZone.empty(); 58 | boxZone.append(htmlPreview); 59 | }; 60 | reader.readAsText(input.files[0]); 61 | } 62 | 63 | } 64 | } 65 | 66 | 67 | function triggerDownload(imgURI, name) { 68 | let a = document.createElement('a'); 69 | a.setAttribute('download', name); 70 | a.setAttribute('href', imgURI); 71 | a.setAttribute('target', '_blank'); 72 | // a.dispatchEvent(evt); 73 | a.click(); 74 | a.remove(); 75 | } 76 | 77 | 78 | $(".dropzone").change(function () { 79 | readFile(this); 80 | }); 81 | 82 | $('.dropzone-wrapper').on('dragover', function (e) { 83 | e.preventDefault(); 84 | e.stopPropagation(); 85 | $(this).addClass('dragover'); 86 | }); 87 | 88 | $('.dropzone-wrapper').on('dragleave', function (e) { 89 | e.preventDefault(); 90 | e.stopPropagation(); 91 | $(this).removeClass('dragover'); 92 | }); 93 | 94 | $('.remove-preview').on('click', function () { 95 | let boxZone = $(this).parents('.preview-zone').find('.box-body'); 96 | let previewZone = $(this).parents('.preview-zone'); 97 | boxZone.empty(); 98 | previewZone.addClass('hidden'); 99 | 100 | let pdfTools = $('.pdfTools'); 101 | pdfTools.addClass('hidden'); 102 | $('#imageForm').trigger('reset'); 103 | }); 104 | 105 | 106 | $('.downloadPdf').on('click', function () { 107 | let orientation = $('#orientation'); 108 | 109 | let imagesSize = [575.28, 821.89]; 110 | if (orientation.val() == 'landscape') { 111 | imagesSize = [821.89, 575.28]; 112 | } 113 | let pageWidth = imagesSize[0]; 114 | let pageHeight = imagesSize[1]; 115 | console.log('imagesSize', imagesSize); 116 | console.log('imageWidth', imageWidth); 117 | console.log('imageHeight', imageHeight); 118 | let content = undefined; 119 | if (data && 120 | (pageWidth > imageWidth || pageHeight > imageHeight)) { 121 | imagesSize = [imageWidth, imageHeight]; 122 | content = { 123 | image: data, 124 | fit: imagesSize 125 | } 126 | } else if (svgData) { 127 | content = { 128 | svg: svgData, 129 | fit: imagesSize 130 | } 131 | } 132 | const docDefinition = { 133 | pageSize: 'A4', 134 | pageOrientation: orientation.val(), 135 | pageMargins: [10, 10, 01, 10], 136 | content: [ 137 | content, 138 | 139 | ], 140 | }; 141 | pdfMake.createPdf(docDefinition).download(`demo.pdf`); 142 | console.log('download pdf', orientation.val()); 143 | }); -------------------------------------------------------------------------------- /mathmeticalTools/scientific-calcuator/sci-calc.html: -------------------------------------------------------------------------------- 1 | 2 |3 | Scientific Calculator 4 | 5 | 6 | 7 | 8 | 9 |