versions() added java, python3, optimized gcc

This commit is contained in:
Sebastian Hildebrandt 2019-03-02 12:49:20 +01:00
parent cac6ec27da
commit 4a786c0270
8 changed files with 181 additions and 98 deletions

View File

@ -30,6 +30,7 @@ For major (breaking) changes - version 3 and 2 see end of page.
| Version | Date | Comment |
| -------------- | -------------- | -------- |
| 4.0.15 | 2019-03-02 | `versions()` added java, python3, optimized gcc |
| 4.0.14 | 2019-03-01 | updated typescript typings |
| 4.0.13 | 2019-03-01 | `diskLayout()` added device (/dev/sda...) linux, mac |
| 4.0.12 | 2019-03-01 | `diskLayout()` linux rewritten - better detection |

View File

@ -80,10 +80,15 @@
</tr>
</thead>
<tbody>
<tr>
<th scope="row">4.0.15</th>
<td>2019-03-02</td>
<td><span class="code">versions()</span>added java, python3, optimized gcc</td>
</tr>
<tr>
<th scope="row">4.0.14</th>
<td>2019-03-01</td>
<td><span class="code">updated typescript typings</td>
<td>updated typescript typings</td>
</tr>
<tr>
<th scope="row">4.0.13</th>

View File

@ -170,7 +170,7 @@
<img class="logo" src="assets/logo.png">
<div class="title">systeminformation</div>
<div class="subtitle"><span id="typed"></span></div>
<div class="version">Current Version: <span id="version">4.0.14</span></div>
<div class="version">Current Version: <span id="version">4.0.15</span></div>
<button class="btn btn-light" onclick="location.href='https://github.com/sebhildebrandt/systeminformation'">View on Github <i class=" fab fa-github"></i></button>
</div>
<div class="down">
@ -193,7 +193,7 @@
</div>
<div class="row number-section">
<div class="col-xl-4 col-lg-4 col-md-4 col-12">
<div class="numbers">8,167</div>
<div class="numbers">8,197</div>
<div class="title">Lines of code</div>
</div>
<div class="col-xl-4 col-lg-4 col-md-4 col-12">
@ -218,52 +218,76 @@
</div>
<div class="row index">
<a href="gettingstarted.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-download"></i></div>
<div class="icontitle">Getting Started</div>
<div class="inner">
<div class="icons"><i class="fal fa-download"></i></div>
<div class="icontitle">Getting Started</div>
</div>
</a>
<a href="general.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-th-list"></i></div>
<div class="icontitle">General</div>
<div class="inner">
<div class="icons"><i class="fal fa-th-list"></i></div>
<div class="icontitle">General</div>
</div>
</a>
<a href="system.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-server"></i></div>
<div class="icontitle">System</div>
<div class="inner">
<div class="icons"><i class="fal fa-server"></i></div>
<div class="icontitle">System</div>
</div>
</a>
<a href="cpu.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-microchip"></i></div>
<div class="icontitle">CPU</div>
<div class="inner">
<div class="icons"><i class="fal fa-microchip"></i></div>
<div class="icontitle">CPU</div>
</div>
</a>
<a href="memory.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-memory"></i></div>
<div class="icontitle">Memory</div>
<div class="inner">
<div class="icons"><i class="fal fa-memory"></i></div>
<div class="icontitle">Memory</div>
</div>
</a>
<a href="battery.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-battery-half"></i></div>
<div class="icontitle">Battery</div>
<div class="inner">
<div class="icons"><i class="fal fa-battery-half"></i></div>
<div class="icontitle">Battery</div>
</div>
</a>
<a href="graphics.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-desktop"></i></div>
<div class="icontitle">Graphics</div>
<div class="inner">
<div class="icons"><i class="fal fa-desktop"></i></div>
<div class="icontitle">Graphics</div>
</div>
</a>
<a href="os.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-window"></i></div>
<div class="icontitle">OS</div>
<div class="inner">
<div class="icons"><i class="fal fa-window"></i></div>
<div class="icontitle">OS</div>
</div>
</a>
<a href="processes.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-chart-line"></i></div>
<div class="icontitle">Processes / Services</div>
<div class="inner">
<div class="icons"><i class="fal fa-chart-line"></i></div>
<div class="icontitle">Process/Service</div>
</div>
</a>
<a href="filesystem.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-hdd"></i></div>
<div class="icontitle">Disks / FS</div>
<div class="inner">
<div class="icons"><i class="fal fa-hdd"></i></div>
<div class="icontitle">Disks / FS</div>
</div>
</a>
<a href="network.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fal fa-network-wired"></i></div>
<div class="icontitle">Network</div>
<div class="inner">
<div class="icons"><i class="fal fa-network-wired"></i></div>
<div class="icontitle">Network</div>
</div>
</a>
<a href="docker.html" class="col-xl-3 col-lg-3 col-md-4 col-6 features">
<div class="icons"><i class="fab fa-docker"></i></div>
<div class="icontitle">Docker</div>
<div class="inner">
<div class="icons"><i class="fab fa-docker"></i></div>
<div class="icontitle">Docker</div>
</div>
</a>
</div>
<div class="row justify-content-center sectionheader index">

View File

@ -290,11 +290,53 @@ h1, h2, h3, h4 {
.features {
text-align: center;
padding: 15px 20px;
color: #333;
}
.features:hover {
.features .inner {
padding: 10px 0px;
}
@media only screen and (min-width: 768px) {
.features .inner {
padding: 15px 20px;
}
}
.features .inner .icons {
display: block;
font-size: 3rem;
color: #bbb;
}
@media only screen and (min-width: 420px) {
.features .inner .icons {
font-size: 3.5rem;
}
}
@media only screen and (min-width: 768px) {
.features .inner .icons {
font-size: 4rem;
}
}
@media only screen and (min-width: 1024px) {
.features .inner .icons {
font-size: 5rem;
}
}
.features .inner .icontitle {
font-size: 1.2rem;
}
.features .inner:hover {
background: #f4f4f4;
color: #567adf;
}
.features .inner:hover .icons {
color: #567adf;
}
@ -392,6 +434,10 @@ h1, h2, h3, h4 {
border: 1px solid #ddd;
}
.index {
margin: 0 0 10px 0;
}
.index .text, .index .subtitle, .index .title, .index .title-small {
text-align: center;
}
@ -417,38 +463,6 @@ ul {
text-align: left;
}
.icons {
display: block;
font-size: 3rem;
color: #aaa;
}
.icons:hover {
color: #567adf;
}
@media only screen and (min-width: 420px) {
.icons {
font-size: 3.5rem;
}
}
@media only screen and (min-width: 768px) {
.icons {
font-size: 4rem;
}
}
@media only screen and (min-width: 1024px) {
.icons {
font-size: 5rem;
}
}
.icontitle {
font-size: 1.2rem;
}
.number-section {
margin-top: 40px;
text-align: center;

File diff suppressed because one or more lines are too long

View File

@ -196,10 +196,37 @@ h1, h2, h3, h4 {
}
.features {
text-align: center;
padding: 15px 20px;
color: #333;
&:hover {
color: rgb(86, 122, 223);
.inner {
padding: 10px 0px;
@media only screen and (min-width: 768px) {
padding: 15px 20px;
}
.icons {
display: block;
font-size: 3rem;
color: #bbb;
@media only screen and (min-width: 420px) {
font-size: 3.5rem;
}
@media only screen and (min-width: 768px) {
font-size: 4rem;
}
@media only screen and (min-width: 1024px) {
font-size: 5rem;
}
}
.icontitle {
font-size: 1.2rem;
}
&:hover {
background: #f4f4f4;
color: rgb(86, 122, 223);
.icons {
color: rgb(86, 122, 223);
}
}
}
}
.sectionheader {
@ -264,16 +291,17 @@ h1, h2, h3, h4 {
}
}
.index {
.text, .subtitle, .title, .title-small {
text-align: center;
}
a {
text-decoration: none;
&:hover {
text-decoration: none;
color: rgb(86, 122, 223);
}
}
margin: 0 0 10px 0;
.text, .subtitle, .title, .title-small {
text-align: center;
}
a {
text-decoration: none;
&:hover {
text-decoration: none;
color: rgb(86, 122, 223);
}
}
}
.left {
.text, .subtitle, .title, .title-small {
@ -286,27 +314,6 @@ h1, h2, h3, h4 {
ul {
text-align: left;
}
.icons {
display: block;
font-size: 3rem;
color: #aaa;
&:hover {
color: rgb(86, 122, 223);
}
@media only screen and (min-width: 420px) {
font-size: 3.5rem;
}
@media only screen and (min-width: 768px) {
font-size: 4rem;
}
@media only screen and (min-width: 1024px) {
font-size: 5rem;
}
}
.icontitle {
font-size: 1.2rem;
// color: #000;
}
.number-section {
margin-top: 40px;
text-align: center;

2
lib/index.d.ts vendored
View File

@ -222,6 +222,8 @@ export namespace Systeminformation {
postgresql: string;
perl: string;
python: string;
python3: string;
java: string;
gcc: string;
}

View File

@ -331,11 +331,13 @@ function versions(callback) {
postgresql: '',
perl: '',
python: '',
python3: '',
java: '',
gcc: ''
};
let functionProcessed = (function () {
let totalFunctions = 20;
let totalFunctions = 21;
return function () {
if (--totalFunctions === 0) {
if (callback) {
@ -555,11 +557,39 @@ function versions(callback) {
}
functionProcessed();
});
exec('python3 -V 2>&1', function (error, stdout) {
if (!error) {
const python = stdout.toString().split('\n')[0] || '';
result.python3 = python.toLowerCase().replace('python', '').trim();
}
functionProcessed();
});
exec('java -version 2>&1', function (error, stdout) {
if (!error) {
const java = stdout.toString().split('\n')[0] || '';
const parts = java.split('"');
result.java = parts.length === 3 ? parts[1].trim() : '';
}
functionProcessed();
});
exec('gcc -dumpversion', function (error, stdout) {
if (!error) {
result.gcc = stdout.toString().split('\n')[0].trim() || '';
}
functionProcessed();
if (result.gcc.indexOf('.') > -1) {
functionProcessed();
} else {
exec('gcc --version', function (error, stdout) {
if (!error) {
const gcc = stdout.toString().split('\n')[0].trim();
if (gcc.indexOf('gcc') > -1 && gcc.indexOf(')') > -1) {
const parts = gcc.split(')');
result.gcc = parts[1].trim() || result.gcc;
}
}
functionProcessed();
});
}
});
} catch (e) {
if (callback) { callback(result); }