1
Fork 0
mirror of https://github.com/Steffo99/unisteffo.git synced 2025-02-16 15:53:58 +00:00

A much needed refactor

This commit is contained in:
Steffo 2019-12-09 16:29:44 +01:00
parent 65fcb902d7
commit 47d68d8b5f
25 changed files with 218 additions and 541 deletions

3
.gitignore vendored
View file

@ -1,2 +1,3 @@
node_modules
/*.log
/*.log
.idea/

View file

@ -26,6 +26,7 @@
"preact": "^8.5.2",
"preact-compat": "^3.17.0",
"preact-render-to-string": "^4.1.0",
"showdown": "^1.9.1"
"showdown": "^1.9.1",
"preact-router": "^2.6.1"
}
}

View file

@ -1,4 +1,4 @@
import style from "./copyright.css";
import style from './copyright.css';
import { Component } from 'preact';
export default class Copyright extends Component {

View file

@ -1,12 +1,14 @@
import style from "./latex.css";
import style from './latex.css';
import { Component } from 'preact';
export default class Latex extends Component {
render() {
let equation = `{\\color{White} ${this.props.children} }`
return <img src={`https://latex.codecogs.com/png.latex?${equation}`}
alt={this.props.children}
title={this.props.children}
class={style.latex}></img>;
let equation = `{\\color{White} ${this.props.children} }`;
return (
<img src={`https://latex.codecogs.com/png.latex?${equation}`}
alt={this.props.children}
title={this.props.children}
class={style.latex}
/>);
}
}

View file

@ -0,0 +1,3 @@
.markdown {
}

View file

@ -7,6 +7,7 @@ export default class Markdown extends Component {
let converter = new showdown.Converter();
converter.setFlavor("github");
let html = converter.makeHtml(`${this.props.children}`);
return <div dangerouslySetInnerHTML={{__html: html}}></div>;
// noinspection CheckTagEmptyBody
return <div style={style.markdown} dangerouslySetInnerHTML={{__html: html}}></div>;
}
}

View file

@ -1,3 +1,3 @@
.minus {
color: #7d7dff;
}
}

View file

@ -5,4 +5,4 @@ export default class Minus extends Component {
render() {
return <span class={style.minus}>{this.props.children}</span>;
}
}
}

View file

@ -1,8 +1,8 @@
.panel {
background-color: rgba(62.7%, 80%, 100%, 10%);
background-color: rgba(62.7%, 80%, 100%, 0.1);
padding: 4px;
border-radius: 4px;
margin: 4px;
height: calc(100% - 8px);
min-width: 256px;
}
}

View file

@ -3,6 +3,15 @@ import { Component } from 'preact';
export default class Panel extends Component {
render() {
return <div class={style.panel}>{this.props.children}</div>;
let title = null;
if(this.props.title !== undefined) {
title = (<h3>{this.props.title}</h3>)
}
return (
<div class={style.panel}>
{title}
{this.props.children}
</div>
);
}
}
}

View file

@ -5,4 +5,4 @@ export default class Plus extends Component {
render() {
return <span class={style.plus}>{this.props.children}</span>;
}
}
}

View file

@ -1,4 +1,8 @@
.split {
}
.splitparent {
display: flex;
flex-wrap: wrap;
}

View file

@ -3,8 +3,12 @@ import { Component } from 'preact';
export default class Split extends Component {
render() {
let percent = 100 / this.props.children.count;
let children = null;
let title = null;
if(this.props.title !== undefined) {
title = (<h2>{this.props.title}</h2>)
}
let children;
if(Array.isArray(this.props.children)) {
children = this.props.children.map(element => {
return (<div class={style.splitchild}>{element}</div>);
@ -13,6 +17,11 @@ export default class Split extends Component {
else {
children = <div class={style.splitchild}>{this.props.children}</div>;
}
return <div class={style.split}>{children}</div>;
return (
<div class={style.split}>
{title}
<div class={style.splitparent}>{children}</div>
</div>
);
}
}
}

View file

@ -4,4 +4,4 @@
padding: 2px;
background-color: black;
color: yellow;
}
}

View file

@ -5,4 +5,4 @@ export default class Todo extends Component {
render() {
return <span class={style.todo}>{this.props.children}</span>;
}
}
}

View file

@ -1,4 +1,5 @@
import style from './index.css';
import './index.css';
import './manifest.json';
import { Component } from 'preact';
import Router from 'preact-router';
import Home from './pages/home';
@ -7,19 +8,19 @@ import VlDiGeometria from './pages/vldigeometria';
import MingwInstall from './pages/mingwinstall';
import Copyright from './components/copyright';
const r = String.raw;
// noinspection JSUnusedGlobalSymbols
export default class App extends Component {
render() {
return (
<div id="app">
<h1><a href="/">Appuntiweb</a> <small>di <a href="https://steffo.eu/">Steffo</a></small></h1>
<Router>
<Home path="/"></Home>
<Fisica path="/fisica"></Fisica>
<VlDiGeometria path="/vldigeometria"></VlDiGeometria>
<MingwInstall path="/mingwinstall"></MingwInstall>
<Home path="/"/>
<Fisica path="/fisica"/>
<VlDiGeometria path="/vldigeometria"/>
<MingwInstall path="/mingwinstall"/>
</Router>
<Copyright></Copyright>
<Copyright/>
</div>
);
}

View file

@ -0,0 +1,3 @@
.fisica {
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,3 @@
.home {
}

View file

@ -7,85 +7,55 @@ import Todo from '../components/todo';
export default class Home extends Component {
render() {
return (
<div>
<h1>Appuntiweb <small>di <a href="https://steffo.eu/">Steffo</a></small></h1>
<h2>
Argomenti
</h2>
<Split>
<Panel>
<h2>
<a href="/fisica">Fisica</a>
</h2>
<div style={style.home}>
<h1>Indice</h1>
<Split title="Argomenti">
<Panel title={<a href="/fisica">Fisica</a>}>
<p>
Appunti delle <a href="http://personale.unimore.it/rubrica/contenutiad/brunetti/2019/58025/N0/N0/9999">lezioni di Fisica</a> del <a href="https://www.unimore.it/didattica/mlaurea.html?ID=54">corso triennale di Informatica</a> all'<a href="https://www.unimore.it/">Unimore</a>, tenute dalla <a href="https://personale.unimore.it/rubrica/dettaglio/brunetti">Prof.ssa Rossella Brunetti</a> nel primo semestre dell'Anno Accademico 2019/2020.
</p>
<p>
<Todo>Work in progress</Todo>
</p>
</Panel>
<Panel>
<h2>
<a href="https://github.com/Steffo99/appunti-universitari/tree/master/2019_SistemiOperativi/Arzigogoli">Sistemi Operativi</a>
</h2>
<Panel title={<a href="https://github.com/Steffo99/appunti-universitari/tree/master/2019_SistemiOperativi/Arzigogoli">Sistemi Operativi</a>}>
<p>
Soluzioni agli <a href="https://weblab.ing.unimore.it/people/andreolini/didattica/sistemi-operativi/index.html#arzigogoli">Arzigogoli</a> proposti dal <a href="https://personale.unimore.it/rubrica/dettaglio/andreolini">Prof. Mauro Andreolini</a> durante le <a href="https://personale.unimore.it/rubrica/contenutiad/andreolini/2019/58027/N0/N0/9999">lezioni di Sistemi Operativi</a> del <a href="https://www.unimore.it/didattica/mlaurea.html?ID=54">corso triennale di Informatica</a> all'<a href="https://www.unimore.it/">Unimore</a> tenutesi nel primo semestre dell'Anno Accademico 2019/2020.
</p>
</Panel>
<Panel>
<h2>
<a href="https://github.com/Steffo99/appunti-universitari/tree/master/2018_AlgoritmiEStruttureDati">Algoritmi e Strutture Dati</a>
</h2>
<Panel title={<a href="https://github.com/Steffo99/appunti-universitari/tree/master/2018_AlgoritmiEStruttureDati">Algoritmi e Strutture Dati</a>}>
<p>
Appunti delle <a href="https://personale.unimore.it/rubrica/contenutiad/mmontangero/2018/58133/N0/N0/9999">lezioni di Algoritmi e Strutture Dati</a> del <a href="https://www.unimore.it/didattica/mlaurea.html?ID=54">corso triennale di Informatica</a> all'<a href="https://www.unimore.it/">Unimore</a>, tenute dalla <a href="https://personale.unimore.it/rubrica/dettaglio/mmontangero">Prof.ssa Manuela Montangero</a> nel secondo semestre dell'Anno Accademico 2018/2019.
</p>
</Panel>
<Panel>
<h2>
<a href="/vldigeometria">Videolezioni di Geometria</a>
</h2>
<Panel title={<a href="/vldigeometria">Videolezioni di Geometria</a>}>
<p>
Ottime videolezioni di Geometria con licenza <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> che ho trovato sul <a href="https://dolly.fim.unimore.it/2018/course/view.php?id=14#section-0">portale Dolly 2018</a> dell'<a href="https://www.unimore.it/">Unimore</a>.
</p>
</Panel>
<Panel>
<h2>
<a href="/mingwinstall">Come installare MinGW</a>
</h2>
<Panel title={<a href="/mingwinstall">Come installare MinGW</a>}>
<p>
Un breve tutorial con immagini su come installare e configurare <a href="https://it.wikipedia.org/wiki/MinGW">MinGW</a> per compilare programmi C e C++ su Windows.
</p>
</Panel>
</Split>
<h2>
Altre collegamenti utili
</h2>
<Split>
<Panel>
<h2>
<a href="https://t.me/unimoreinfo">@unimoreinfo</a>
</h2>
<Split title="Altri collegamenti utili">
<Panel title={<a href="https://t.me/unimoreinfo">@unimoreinfo</a>}>
<p>
Il gruppo <a href="https://telegram.org/">Telegram</a> del corso di Informatica dell'Unimore!
</p>
</Panel>
<Panel>
<h2>
<a href="https://calendar.google.com/calendar?cid=MmYza2o2M3VuZWQ1cmZqaGpmOGY0MWFrNmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ">Calendario Lezioni</a>
</h2>
<Panel title={<a href="https://calendar.google.com/calendar?cid=MmYza2o2M3VuZWQ1cmZqaGpmOGY0MWFrNmdAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ">Calendario Lezioni</a>}>
<p>
Calendario Google <small>quasi</small> sempre aggiornato delle lezioni e degli esami del secondo anno dell'<a href="https://www.unimore.it/">Unimore</a> durante l'Anno Accademico 2019/2020.
</p>
</Panel>
<Panel>
<h2>
<a href="http://erre2.fermitech.info/dashboard">Erre2</a>
</h2>
<Panel title={<a href="http://erre2.fermitech.info/dashboard">Erre2</a>}>
<p>
Portale contenente appunti e riassunti mantenuto da <a href="https://github.com/LBindustries">Lorenzo Balugani</a>.
</p>
</Panel>
<Panel>
<h2>
<a href="https://github.com/vezzalinistefano/Appunti-Algoritmi">vezzalinistefano/Appunti-Algoritmi</a>
</h2>
<Panel title={<a href="https://github.com/vezzalinistefano/Appunti-Algoritmi">vezzalinistefano/Appunti-Algoritmi</a>}>
<p>
Appunti di Algoritmi e Strutture Dati mantenuti da <a href="https://github.com/vezzalinistefano/">Vezzalini Stefano</a>.
</p>

View file

@ -0,0 +1,3 @@
.mingwinstall {
}

View file

@ -1,40 +1,37 @@
import style from './vldigeometria.css';
import style from './mingwinstall.css';
import { Component } from 'preact';
import Markdown from '../components/markdown';
import Panel from '../components/panel';
const r = String.raw;
export default class MingwInstall extends Component {
render() {
//Imported from unimore-info-wiki
return (
<div>
<div style={style.mingwinstall}>
<h1>Come installare MinGW</h1>
<Panel>
<p> Scaricate <a href="https://osdn.net/projects/mingw/downloads/68260/mingw-get-setup.exe/">l'installer ufficiale</a>,
ed eseguitelo.</p><img src="https://i.imgur.com/mDZSqjV.png" />
ed eseguitelo.</p><img src="https://i.imgur.com/mDZSqjV.png" alt=""/>
<p> Dovrebbe comparire questa schermata. Cliccate su <code>Install</code>, poi scegliete una cartella di installazione
(ricordatevela!) e poi <code>Continue</code>. Lasciate stare le altre opzioni, dovrebbero essere tutte spuntate,
tranne <code>For all users</code>, che dovrebbe essere disattivato.</p><img src="https://i.imgur.com/brdw8Xy.png" />
tranne <code>For all users</code>, che dovrebbe essere disattivato.</p><img src="https://i.imgur.com/brdw8Xy.png" alt=""/>
<p> Aspettate che finisca il download. Pochi secondi dopo, dovrebbe finire e dovrebbe apparire un tasto
<code>Continue</code>. Premetelo.</p><img src="https://i.imgur.com/aPTwrxz.png" />
<code>Continue</code>. Premetelo.</p><img src="https://i.imgur.com/aPTwrxz.png" alt=""/>
<p> Dovrebbe apparirvi questa finestra. L'installer di MinGW è una specie di gestore pacchetti (tipo <code>apt</code> su
Ubuntu); potete scegliere quali pacchetti installare, e quindi quali funzionalità.</p><img src="https://i.imgur.com/5QLSkFN.png" />
Ubuntu); potete scegliere quali pacchetti installare, e quindi quali funzionalità.</p><img src="https://i.imgur.com/5QLSkFN.png" alt=""/>
<p> Nel nostro caso, dovrebbero servirci <code>mingw32-base-bin</code> (per il C e alcune librerie C++) e
<code>mingw32-gcc-g++-bin</code> (per il C++). Cliccate, quindi, sui due quadratini corrispondenti, e premete
<code>Mark for Installation</code>. Dovrebbe comparire una freccia gialla sul quadratino.</p><img src="https://i.imgur.com/zP74nks.png" />
<code>Mark for Installation</code>. Dovrebbe comparire una freccia gialla sul quadratino.</p><img src="https://i.imgur.com/zP74nks.png" alt=""/>
<p> Ora, è il momento di installare i pacchetti. Aprite il menù <code>Installation</code>, poi premete
<code>Apply Changes</code>, e di nuovo <code>Apply</code>.</p><img src="https://i.imgur.com/jp4uz5B.png" />
<code>Apply Changes</code>, e di nuovo <code>Apply</code>.</p><img src="https://i.imgur.com/jp4uz5B.png" alt=""/>
<p> Lasciate che scarichi, ci vorrà un po'. Guardatevi un video nel frattempo, fatevi una partitina a qualcosa, tornate
dopo circa 10 minuti.</p><img src="https://i.imgur.com/Lq9IepY.png" />
dopo circa 10 minuti.</p><img src="https://i.imgur.com/Lq9IepY.png" alt=""/>
<p> Una volta installato, dobbiamo aggiungere <code>g++</code> ai programmi eseguibili da Prompt dei Comandi: premete il
tasto <kbd>Windows</kbd>, e scrivete <code>PATH</code>. Windows dovrebbe trovarvi automaticamente quell'opzione.</p>
<img src="https://i.imgur.com/dy3b5Ub.png" />
<p> Dentro la finestra di <i>Proprietà del Sistema</i>, premete <code>Variabili d'ambiente</code>.</p><img src="https://i.imgur.com/FjYpT1n.png" />
<p> Trovate la variabile d'ambiente globale <code>Path</code>, e fateci doppio click per modificarla.</p><img src="https://i.imgur.com/klZQ9So.png" />
<img src="https://i.imgur.com/dy3b5Ub.png" alt=""/>
<p> Dentro la finestra di <i>Proprietà del Sistema</i>, premete <code>Variabili d'ambiente</code>.</p><img src="https://i.imgur.com/FjYpT1n.png" alt=""/>
<p> Trovate la variabile d'ambiente globale <code>Path</code>, e fateci doppio click per modificarla.</p><img src="https://i.imgur.com/klZQ9So.png" alt=""/>
<p> Ora dovreste vedere l'elenco di tutte le cartelle contenenti programmi eseguibili da terminale: dobbiamo aggiungere
quella di MinGW! Premete <code>Sfoglia</code>.</p><img src="https://i.imgur.com/F6lBCqS.png" />
quella di MinGW! Premete <code>Sfoglia</code>.</p><img src="https://i.imgur.com/F6lBCqS.png" alt=""/>
<p> Trovate la cartella in cui avete installato MinGW (vi avevo detto di ricordarvela!); entrateci, poi selezionate la
sottocartella <code>bin</code> e premete <code>OK</code> su tutte le finestre che avete aperto fino ad ora,
chiudendole.</p>

View file

@ -0,0 +1,3 @@
.vldigeometria {
}

View file

@ -7,8 +7,9 @@ const r = String.raw;
export default class VlDiGeometria extends Component {
render() {
//Imported from unimore-info-wiki
return (
<div>
<div style={style.vldigeometria}>
<h1>Videolezioni di Geometria</h1>
<Panel>
<Markdown>{r`