From 50bb19fe96aaadfda79846428da23bb57f1f38eb Mon Sep 17 00:00:00 2001
From: Stefano Pigozzi
Date: Wed, 11 Mar 2020 12:37:34 +0100
Subject: [PATCH] Study a bit
---
package-lock.json | 166 ++++++++++++++--------------
package.json | 2 +
src/index.css | 55 ---------
src/index.js | 2 +-
src/index.less | 136 +++++++++++++++++++++++
src/routes/ottimizzazioneLineare.js | 80 +++++++++++++-
src/styles/constants.less | 17 +++
src/styles/override-easymde.less | 121 ++++++++++++++++++++
8 files changed, 438 insertions(+), 141 deletions(-)
delete mode 100644 src/index.css
create mode 100644 src/index.less
create mode 100644 src/styles/constants.less
create mode 100644 src/styles/override-easymde.less
diff --git a/package-lock.json b/package-lock.json
index 0fc7ce2..3638957 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "appuntiweb",
- "version": "0.2.0",
+ "version": "0.2.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@@ -1523,11 +1523,16 @@
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
"dev": true
},
+ "asap": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
+ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+ "optional": true
+ },
"asn1": {
"version": "0.2.4",
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
"integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
- "dev": true,
"requires": {
"safer-buffer": "~2.1.0"
}
@@ -1573,8 +1578,7 @@
"assert-plus": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
- "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
- "dev": true
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
},
"assign-symbols": {
"version": "1.0.0",
@@ -1606,8 +1610,7 @@
"asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
- "dev": true
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"atob": {
"version": "2.1.2",
@@ -1633,14 +1636,12 @@
"aws-sign2": {
"version": "0.7.0",
"resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
- "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
- "dev": true
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
},
"aws4": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz",
- "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==",
- "dev": true
+ "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug=="
},
"babel-code-frame": {
"version": "6.26.0",
@@ -1917,7 +1918,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
"integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
- "dev": true,
"requires": {
"tweetnacl": "^0.14.3"
}
@@ -2381,8 +2381,7 @@
"caseless": {
"version": "0.12.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
- "dev": true
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"chalk": {
"version": "2.4.2",
@@ -2530,6 +2529,11 @@
"wrap-ansi": "^5.1.0"
}
},
+ "clone": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
+ "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
+ },
"clone-response": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
@@ -2603,7 +2607,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "dev": true,
"requires": {
"delayed-stream": "~1.0.0"
}
@@ -3022,8 +3025,7 @@
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
- "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
- "dev": true
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cosmiconfig": {
"version": "6.0.0",
@@ -3392,7 +3394,6 @@
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@@ -3641,8 +3642,7 @@
"delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
- "dev": true
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd": {
"version": "1.1.2",
@@ -3844,7 +3844,6 @@
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
"integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
- "dev": true,
"requires": {
"jsbn": "~0.1.0",
"safer-buffer": "^2.1.0"
@@ -3989,7 +3988,6 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz",
"integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==",
- "dev": true,
"requires": {
"prr": "~1.0.1"
}
@@ -4287,8 +4285,7 @@
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
- "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
- "dev": true
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extend-shallow": {
"version": "3.0.2",
@@ -4379,8 +4376,7 @@
"extsprintf": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
- "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
- "dev": true
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-async": {
"version": "6.3.8",
@@ -4558,8 +4554,7 @@
"forever-agent": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
- "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
- "dev": true
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"fork-ts-checker-webpack-plugin": {
"version": "1.6.0",
@@ -4581,7 +4576,6 @@
"version": "2.3.3",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
"integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
- "dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.6",
@@ -5266,7 +5260,6 @@
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0"
}
@@ -5396,8 +5389,7 @@
"graceful-fs": {
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
- "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
- "dev": true
+ "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ=="
},
"gzip-size": {
"version": "5.1.1",
@@ -5418,14 +5410,12 @@
"har-schema": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
- "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
- "dev": true
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
},
"har-validator": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
"integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
- "dev": true,
"requires": {
"ajv": "^6.5.5",
"har-schema": "^2.0.0"
@@ -5799,7 +5789,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
"integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0",
"jsprim": "^1.2.2",
@@ -5856,6 +5845,12 @@
"integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==",
"dev": true
},
+ "image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=",
+ "optional": true
+ },
"import-cwd": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz",
@@ -6295,8 +6290,7 @@
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
- "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
- "dev": true
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-windows": {
"version": "1.0.2",
@@ -6347,8 +6341,7 @@
"isstream": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
- "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
- "dev": true
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"js-tokens": {
"version": "4.0.0",
@@ -6368,8 +6361,7 @@
"jsbn": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
- "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
- "dev": true
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
},
"jsdom": {
"version": "12.2.0",
@@ -6433,8 +6425,7 @@
"json-schema": {
"version": "0.2.3",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
- "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
- "dev": true
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -6453,8 +6444,7 @@
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
- "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
- "dev": true
+ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json3": {
"version": "3.3.3",
@@ -6489,7 +6479,6 @@
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
- "dev": true,
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
@@ -6552,6 +6541,33 @@
"invert-kv": "^2.0.0"
}
},
+ "less": {
+ "version": "3.11.1",
+ "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz",
+ "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==",
+ "requires": {
+ "clone": "^2.1.2",
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "mime": "^1.4.1",
+ "mkdirp": "^0.5.0",
+ "promise": "^7.1.1",
+ "request": "^2.83.0",
+ "source-map": "~0.6.0",
+ "tslib": "^1.10.0"
+ }
+ },
+ "less-loader": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz",
+ "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==",
+ "requires": {
+ "clone": "^2.1.1",
+ "loader-utils": "^1.1.0",
+ "pify": "^4.0.1"
+ }
+ },
"leven": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
@@ -6859,20 +6875,17 @@
"mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
},
"mime-db": {
"version": "1.43.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
- "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
- "dev": true
+ "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ=="
},
"mime-types": {
"version": "2.1.26",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
"integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
- "dev": true,
"requires": {
"mime-db": "1.43.0"
}
@@ -7067,7 +7080,6 @@
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
- "dev": true,
"requires": {
"minimist": "0.0.8"
},
@@ -7075,8 +7087,7 @@
"minimist": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
- "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
- "dev": true
+ "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
}
}
},
@@ -7350,8 +7361,7 @@
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
- "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
- "dev": true
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
},
"object-assign": {
"version": "4.1.1",
@@ -7857,14 +7867,12 @@
"performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
- "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
- "dev": true
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
},
"pify": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
- "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
- "dev": true
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
},
"pinkie": {
"version": "2.0.4",
@@ -8769,6 +8777,15 @@
}
}
},
+ "promise": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
+ "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
+ "optional": true,
+ "requires": {
+ "asap": "~2.0.3"
+ }
+ },
"promise-inflight": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
@@ -8815,8 +8832,7 @@
"prr": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
- "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=",
- "dev": true
+ "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY="
},
"ps-tree": {
"version": "1.2.0",
@@ -8836,8 +8852,7 @@
"psl": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.7.0.tgz",
- "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ==",
- "dev": true
+ "integrity": "sha512-5NsSEDv8zY70ScRnOTn7bK7eanl2MvFrOrS/R6x+dBt5g1ghnj9Zv90kO8GwT8gxcu2ANyFprnFYB85IogIJOQ=="
},
"public-encrypt": {
"version": "4.0.3",
@@ -8900,8 +8915,7 @@
"qs": {
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
- "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
- "dev": true
+ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
},
"query-string": {
"version": "4.3.4",
@@ -9250,7 +9264,6 @@
"version": "2.88.2",
"resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
"integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
- "dev": true,
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
@@ -9442,8 +9455,7 @@
"safe-buffer": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
- "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
- "dev": true
+ "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
},
"safe-regex": {
"version": "1.1.0",
@@ -9457,8 +9469,7 @@
"safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sax": {
"version": "1.2.4",
@@ -10066,7 +10077,6 @@
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
"integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
- "dev": true,
"requires": {
"asn1": "~0.2.3",
"assert-plus": "^1.0.0",
@@ -10613,7 +10623,6 @@
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
- "dev": true,
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
@@ -10637,8 +10646,7 @@
"tslib": {
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
- "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
- "dev": true
+ "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA=="
},
"tty-browserify": {
"version": "0.0.0",
@@ -10650,7 +10658,6 @@
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
- "dev": true,
"requires": {
"safe-buffer": "^5.0.1"
}
@@ -10658,8 +10665,7 @@
"tweetnacl": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
- "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
- "dev": true
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
},
"type-check": {
"version": "0.3.2",
@@ -11030,8 +11036,7 @@
"uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
- "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
- "dev": true
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A=="
},
"validate-npm-package-name": {
"version": "3.0.0",
@@ -11063,7 +11068,6 @@
"version": "1.10.0",
"resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
- "dev": true,
"requires": {
"assert-plus": "^1.0.0",
"core-util-is": "1.0.2",
diff --git a/package.json b/package.json
index 42d586f..5d5dc70 100644
--- a/package.json
+++ b/package.json
@@ -25,6 +25,8 @@
"css-loader": "^3.4.2",
"file-loader": "^5.0.2",
"history": "^4.10.1",
+ "less": "^3.11.1",
+ "less-loader": "^5.0.0",
"preact": "^10.3.1",
"preact-render-to-string": "^5.1.4",
"preact-router": "^3.2.1",
diff --git a/src/index.css b/src/index.css
deleted file mode 100644
index 60c14d3..0000000
--- a/src/index.css
+++ /dev/null
@@ -1,55 +0,0 @@
-* {
- box-sizing: border-box;
-}
-
-body {
- background-color: #0d193b;
- color: #a0ccff;
- font-family: sans-serif;
-}
-
-h1, h2, h3, h4, h5, h6 {
- margin-top: 4px;
- margin-bottom: 4px;
- color: #ffffff;
- font-weight: normal;
-}
-
-h1, h2, h3 {
- text-align: center;
-}
-
-h4, h5, h6 {
- font-weight: bold;
-}
-
-
-a {
- color: #00caca;
- text-decoration: none;
-}
-
-a:hover {
- color: #4affff;
-}
-
-a:active {
- color: #ffffff;
-}
-
-img {
- max-width: 100%;
-}
-
-code {
- font-family: "Consolas", monospace;
-}
-
-blockquote {
- border-left: 3px solid #a0ccff;
- padding: 4px;
- margin-left: 12px;
- background-color: rgba(62.7%, 80%, 100%, 0.1);
- border-top-right-radius: 4px;
- border-bottom-right-radius: 4px;
-}
\ No newline at end of file
diff --git a/src/index.js b/src/index.js
index 34b54ef..c83ead0 100644
--- a/src/index.js
+++ b/src/index.js
@@ -1,7 +1,7 @@
import { Component } from 'preact';
// noinspection ES6UnusedImports
-import _style from './index.css';
+import _style from './index.less';
// noinspection ES6UnusedImports
import _manifest from './meta/manifest.json';
// noinspection ES6UnusedImports
diff --git a/src/index.less b/src/index.less
new file mode 100644
index 0000000..8b384ba
--- /dev/null
+++ b/src/index.less
@@ -0,0 +1,136 @@
+@import "./styles/constants.less";
+
+* {
+ box-sizing: border-box;
+}
+
+body {
+ background-color: @bg;
+ color: @fg;
+ font-family: @sans;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 4px;
+ margin-bottom: 4px;
+ color: @accent;
+ font-weight: normal;
+ text-align: center;
+}
+
+h1 {
+ font-size: xx-large;
+}
+
+a {
+ color: @link;
+ text-decoration: none;
+
+ &:hover {
+ color: #4affff;
+ }
+
+ &:active {
+ color: #ffffff;
+ }
+}
+
+img {
+ max-width: 100%;
+ max-height: 300px;
+}
+
+b {
+ color: @accent;
+}
+
+code {
+ font-family: @mono;
+}
+
+blockquote {
+ color: @fg;
+ border-left: 3px solid @fg;
+ background-color: fade(@fg, 10%);
+ padding: 4px 4px 4px 8px;
+ margin: 8px;
+}
+
+input[type="text"], input[type="password"] {
+ color: @fg;
+ background-color: @bg;
+ border: 1px solid @bg-lighter;
+ border-radius: 4px;
+ padding: 4px;
+ font-size: medium;
+
+ &:disabled {
+ color: grey;
+ background-color: #1f1f1f;
+ cursor: not-allowed;
+ }
+}
+
+button {
+ color: @fg;
+ background-color: @bg;
+ border: 1px solid @bg-lighter;
+ border-radius: 4px;
+ padding: 4px;
+ font-size: medium;
+
+ &:hover {
+ background-color: @bg-light;
+ border: 1px solid @fg;
+ }
+
+ &:active {
+ background-color: @bg-lighter;
+ border: 1px solid @fg;
+ }
+
+ &.disabled {
+ color: grey;
+ background-color: #1f1f1f;
+ cursor: not-allowed;
+ }
+}
+
+hr {
+ border: 1px solid @bg-light;
+ margin-top: 24px;
+ margin-bottom: 24px;
+}
+
+table {
+ border-spacing: 0;
+ border: 2px solid @bg-lighter;
+ background-color: @bg-light;
+ border-radius: 4px;
+ border-collapse: collapse;
+
+ thead, tbody {
+ th, td {
+ padding: 4px;
+ border: 1px solid @bg-lighter;
+ }
+ }
+
+ thead {
+ background-color: @bg-lighter;
+ color: @accent;
+ border-radius: 4px 4px 0 0;
+ }
+}
+
+.left {
+ text-align: left;
+}
+
+.center {
+ text-align: center;
+}
+
+.right {
+ text-align: right;
+}
diff --git a/src/routes/ottimizzazioneLineare.js b/src/routes/ottimizzazioneLineare.js
index b04822a..0bcf924 100644
--- a/src/routes/ottimizzazioneLineare.js
+++ b/src/routes/ottimizzazioneLineare.js
@@ -74,18 +74,90 @@ export default class OttimizzazioneLineare extends Component {
{r`3x + 2y \leq 15 \implies 3x + 2y + s_1 = 15`}
- In seguito, possiamo riscrivere la funzione obiettivo in termini delle variabili slack.
+ In seguito, possiamo riscrivere tutte le funzioni in termini delle variabili slack.
Si ottiene qualcosa come {r`z = -2 s_1 - 3 s_2 + 40`}.
-
+
- Una volta riscritta la funzione obiettivo in termini di slack, se riscriviamo anche le altre funzioni in termini delle slack possiamo ricavare la soluzione dai termini noti.
+ Un modo per rappresentare sistemi in forma standard.
- TODO: รจ praticamente Gauss-Jordan
+
+
+
+ |
+ x |
+ y |
+ s_1 |
+ s_2 |
+
+
+
+
+ ob. |
+ 80 |
+ 70 |
+ 0 |
+ 0 |
+
+
+ |
+ 3 |
+ 2 |
+ 1 |
+ 0 |
+
+
+ |
+ 2 |
+ 3 |
+ 0 |
+ 1 |
+
+
+
+
+
+ Riscrivendo in termini delle variabili slack, otteniamo:
+
+
+
+
+
+ |
+ x |
+ y |
+ s_1 |
+ s_2 |
+
+
+
+
+ ob. |
+ 0 |
+ 0 |
+ -20 |
+ -10 |
+
+
+ |
+ 1 |
+ 0 |
+ {r`\frac{3}{5}`} |
+ {r`-\frac{2}{5}`} |
+
+
+ |
+ 0 |
+ 1 |
+ {r`-\frac{2}{5}`} |
+ {r`\frac{3}{5}`} |
+
+
+
diff --git a/src/styles/constants.less b/src/styles/constants.less
new file mode 100644
index 0000000..8ceeb85
--- /dev/null
+++ b/src/styles/constants.less
@@ -0,0 +1,17 @@
+@bg: #0d193b;
+@bg-light: #1c2b4f;
+@bg-lighter: #2a3d62;
+@fg: #a0ccff;
+@accent: #ffffff;
+@link: #00caca;
+
+@red: #ff7d7d;
+@orange: #ffbb7d;
+@yellow: #ffff7d;
+@lime: #7dff7d;
+@cyan: #7dffff;
+@blue: #7d7dff;
+@magenta: #ff7dff;
+
+@sans: sans-serif;
+@mono: "Consolas", "SFMono-Regular", "Liberation Mono", "Menlo", monospace;
diff --git a/src/styles/override-easymde.less b/src/styles/override-easymde.less
new file mode 100644
index 0000000..13bcd7b
--- /dev/null
+++ b/src/styles/override-easymde.less
@@ -0,0 +1,121 @@
+@import "./constants.less";
+
+.CodeMirror {
+ font-family: "Consolas", monospace !important;
+ background-color: @bg !important;
+ color: @fg !important;
+ border-top: 0 !important;
+ border-bottom: 0 !important;
+ border-left: 1px solid @bg-lighter !important;
+ border-right: 1px solid @bg-lighter !important;
+ border-radius: 0 !important;
+ caret-color: white;
+
+ .cm-link {
+ color: @cyan !important;
+ }
+
+ .cm-url {
+ color: @link !important;
+ }
+
+ .cm-tag {
+ color: @magenta !important;
+ }
+
+ .cm-strong {
+ color: @yellow !important;
+ }
+
+ .cm-em {
+ color: @orange !important;
+ }
+
+ .cm-quote {
+ color: @lime !important;
+ }
+
+ .cm-comment {
+ color: lightgray !important;
+ }
+
+ .cm-header {
+ color: @accent !important;
+ }
+
+ .CodeMirror-cursor {
+ border-left: 1px solid @fg !important;
+ }
+}
+.editor-toolbar, .editor-statusbar {
+ background-color: @bg-light !important;
+ color: @fg !important;
+ opacity: 1 !important;
+
+ a {
+ color: @fg !important;
+ border: 0 !important;
+
+ &:hover {
+ background-color: @bg-lighter !important;
+ color: lighten(@fg, 25%) !important;
+ }
+
+ &.active {
+ background-color: fade(@fg, 30%) !important;
+ color: white !important;
+
+ &:hover {
+ background-color: @bg-lighter !important;
+ color: lighten(@fg, 25%) !important;
+ }
+ }
+ }
+
+ .fas, .far, .fab {
+ color: @fg !important;
+
+ &:hover {
+ color: @fg !important;
+ }
+
+ &:active {
+ color: white !important;
+ }
+ }
+}
+
+.editor-toolbar {
+ border-top: 1px solid @bg-lighter !important;
+ border-left: 1px solid @bg-lighter !important;
+ border-right: 1px solid @bg-lighter !important;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+
+ button {
+ color: @fg;
+
+ &:hover {
+ background-color: @bg-lighter;
+ border: none;
+ }
+
+ &:active, &.active {
+ background-color: @bg-lighter;
+ border: none;
+ color: @accent;
+ }
+ }
+
+ i.separator {
+ border-color: @bg-lighter;
+ }
+}
+
+.editor-statusbar {
+ border-bottom: 1px solid @bg-lighter !important;
+ border-left: 1px solid @bg-lighter !important;
+ border-right: 1px solid @bg-lighter !important;
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+}