Als je voor een publiek moet spreken, gebruik je al vlug aan een presentatie met kleurrijke diagrammen, afbeeldingen en animatie-effecten. Niemand ontkent de kracht van een visueel attractieve presentatie maar soms is de bedoeling van een presentatie om informatie over te dragen, en ligt de nadruk niet op het geven van een show. Dan kan je de informatie beter met tekst presenteren. In zo'n geval spendeer je meer tijd aan het verzamelen van de informatie en het controleren van de feiten dan aan het zoeken van mooie afbeeldingen op Google.
Presentaties kan je op verschillende manieren maken. LibreOffice Impress voor multimedia-rijke inhoud, Impress.js voor verbluffende visuele effecten, Beamer voor LaTEX aanhangers, enz. Zoek je een eenvoudige manier om tekst-presentaties te maken, dan kan je mdp gebruiken.
Mdp is een op ncurses gebaseerd presentatie programma voor de terminal.
Het meest opvallende aan mdp is de ondersteuning van markdown.
Dit zorgt voor een standaard manier van werken, waardoor je de presentatie eenvoudig kunt omzetten naar HTML.
Daarenboven ondersteunt mdp UTF-8 karakters, handig bij het weergeven van internationale en speciale tekens.
Onderstaande animatie toont een voorbeeld van de ontwikkelaar:
Mdp is eenvoudig te installeren door zijn geringe afhankelijkheden (enkel ncurses). De broncode van mdp staat op github en moet nog gecompileerd worden. Daarvoor moet je de volgende software installeren:
dany@laptop:~> sudo zypper install git gcc make ncurses-devel
root's password:
Gegevens van opslagruimte laden...
Lezen van geïnstalleerde pakketten...
'gcc' is al geïnstalleerd.
Geen kandidaat voor bijwerken van 'gcc-4.8-8.4.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
'make' is al geïnstalleerd.
Geen kandidaat voor bijwerken van 'make-4.0-4.4.x86_64'. De hoogst beschikbare versie is al geïnstalleerd.
Pakketafhankelijkheden oplossen...
De volgende 19 NIEUWE pakketten zullen worden geïnstalleerd:
cvs cvsps git git-core git-cvs git-email git-gui gitk git-svn git-web libserf-1-1
libsvn_auth_kwallet-1-0 ncurses-devel perl-Authen-SASL perl-Error
perl-Net-SMTP-SSL subversion subversion-perl tack
De volgende 7 aanbevolen pakketten zijn automatisch geselecteerd:
git-cvs git-email git-gui gitk git-svn perl-Authen-SASL perl-Net-SMTP-SSL
Het volgende pakket wordt gesuggereerd, maar zal niet worden geïnstalleerd:
git-daemon
19 nieuwe te installeren pakketten.
Totale downloadgrootte: 12,7 MiB. Reeds in de cache: 0 B. Na de bewerking zal
aanvullend 68,7 MiB worden gebruikt.
doorgaan? [j/n/? alle opties tonen] (j):
pakket perl-Authen-SASL-2.16-7.2.noarch wordt opgehaald
(1/19), 55,1 KiB (105,1 KiB uitgepakt)
Ophalen: perl-Authen-SASL-2.16-7.2.noarch.rpm ..............................[GEREED]
pakket perl-Error-0.17021-3.2.noarch wordt opgehaald
(2/19), 28,3 KiB ( 49,8 KiB uitgepakt)
Ophalen: perl-Error-0.17021-3.2.noarch.rpm .................................[GEREED]
pakket perl-Net-SMTP-SSL-1.03-3.2.noarch wordt opgehaald
(3/19), 8,2 KiB ( 4,7 KiB uitgepakt)
Ophalen: perl-Net-SMTP-SSL-1.03-3.2.noarch.rpm .............................[GEREED]
pakket cvs-1.12.12-183.1.x86_64 wordt opgehaald
(4/19), 371,4 KiB (902,3 KiB uitgepakt)
Ophalen: cvs-1.12.12-183.1.x86_64.rpm ......................................[GEREED]
pakket cvsps-2.1-184.2.x86_64 wordt opgehaald
(5/19), 56,1 KiB (120,6 KiB uitgepakt)
Ophalen: cvsps-2.1-184.2.x86_64.rpm ........................................[GEREED]
pakket libserf-1-1-1.3.8-4.2.x86_64 wordt opgehaald
(6/19), 67,5 KiB (144,4 KiB uitgepakt)
Ophalen: libserf-1-1-1.3.8-4.2.x86_64.rpm ..................................[GEREED]
pakket tack-5.9-53.4.x86_64 wordt opgehaald (7/19), 150,4 KiB (168,6 KiB uitgepakt)
Ophalen: tack-5.9-53.4.x86_64.rpm ..........................................[GEREED]
pakket ncurses-devel-5.9-53.4.x86_64 wordt opgehaald
(8/19), 3,4 MiB ( 25,0 MiB uitgepakt)
Ophalen: ncurses-devel-5.9-53.4.x86_64.rpm ...................[GEREED (776,4 KiB/s)]
pakket git-core-2.6.6-7.1.x86_64 wordt opgehaald
(9/19), 3,9 MiB ( 25,8 MiB uitgepakt)
Ophalen: git-core-2.6.6-7.1.x86_64.rpm .........................[GEREED (1,8 MiB/s)]
pakket subversion-1.8.10-9.1.x86_64 wordt opgehaald
(10/19), 2,2 MiB ( 8,3 MiB uitgepakt)
Ophalen: subversion-1.8.10-9.1.x86_64.rpm ......................[GEREED (1,7 MiB/s)]
pakket gitk-2.6.6-7.1.x86_64 wordt opgehaald
(11/19), 217,8 KiB (705,6 KiB uitgepakt)
Ophalen: gitk-2.6.6-7.1.x86_64.rpm ...........................[GEREED (164,3 KiB/s)]
pakket git-web-2.6.6-7.1.x86_64 wordt opgehaald
(12/19), 165,6 KiB (321,6 KiB uitgepakt)
Ophalen: git-web-2.6.6-7.1.x86_64.rpm ......................................[GEREED]
pakket git-gui-2.6.6-7.1.x86_64 wordt opgehaald
(13/19), 296,7 KiB ( 1,3 MiB uitgepakt)
Ophalen: git-gui-2.6.6-7.1.x86_64.rpm ........................[GEREED (759,9 KiB/s)]
pakket git-email-2.6.6-7.1.x86_64 wordt opgehaald
(14/19), 120,3 KiB (112,6 KiB uitgepakt)
Ophalen: git-email-2.6.6-7.1.x86_64.rpm ....................................[GEREED]
pakket git-cvs-2.6.6-7.1.x86_64 wordt opgehaald
(15/19), 166,6 KiB (328,0 KiB uitgepakt)
Ophalen: git-cvs-2.6.6-7.1.x86_64.rpm ......................................[GEREED]
pakket git-2.6.6-7.1.x86_64 wordt opgehaald (16/19), 88,6 KiB ( 2,6 KiB uitgepakt)
Ophalen: git-2.6.6-7.1.x86_64.rpm ..........................................[GEREED]
pakket subversion-perl-1.8.10-9.1.x86_64 wordt opgehaald
(17/19), 863,6 KiB ( 4,3 MiB uitgepakt)
Ophalen: subversion-perl-1.8.10-9.1.x86_64.rpm ...............[GEREED (900,3 KiB/s)]
pakket libsvn_auth_kwallet-1-0-1.8.10-9.1.x86_64 wordt opgehaald
(18/19), 76,9 KiB ( 18,5 KiB uitgepakt)
Ophalen: libsvn_auth_kwallet-1-0-1.8.10-9.1.x86_64.rpm .....................[GEREED]
pakket git-svn-2.6.6-7.1.x86_64 wordt opgehaald
(19/19), 513,8 KiB ( 1,0 MiB uitgepakt)
Ophalen: git-svn-2.6.6-7.1.x86_64.rpm ........................[GEREED (199,3 KiB/s)]
Controleren op bestandsconflicten: .........................................[GEREED]
( 1/19) Installeren: perl-Authen-SASL-2.16-7.2.noarch ......................[GEREED]
( 2/19) Installeren: perl-Error-0.17021-3.2.noarch .........................[GEREED]
( 3/19) Installeren: perl-Net-SMTP-SSL-1.03-3.2.noarch .....................[GEREED]
( 4/19) Installeren: cvs-1.12.12-183.1.x86_64 ..............................[GEREED]
( 5/19) Installeren: cvsps-2.1-184.2.x86_64 ................................[GEREED]
( 6/19) Installeren: libserf-1-1-1.3.8-4.2.x86_64 ..........................[GEREED]
( 7/19) Installeren: tack-5.9-53.4.x86_64 ..................................[GEREED]
( 8/19) Installeren: ncurses-devel-5.9-53.4.x86_64 .........................[GEREED]
( 9/19) Installeren: git-core-2.6.6-7.1.x86_64 .............................[GEREED]
(10/19) Installeren: subversion-1.8.10-9.1.x86_64 ..........................[GEREED]
Aanvullende rpm-uitvoer:
Updating /etc/sysconfig/svnserve...
(11/19) Installeren: gitk-2.6.6-7.1.x86_64 .................................[GEREED]
(12/19) Installeren: git-web-2.6.6-7.1.x86_64 ..............................[GEREED]
(13/19) Installeren: git-gui-2.6.6-7.1.x86_64 ..............................[GEREED]
(14/19) Installeren: git-email-2.6.6-7.1.x86_64 ............................[GEREED]
(15/19) Installeren: git-cvs-2.6.6-7.1.x86_64 ..............................[GEREED]
(16/19) Installeren: git-2.6.6-7.1.x86_64 ..................................[GEREED]
(17/19) Installeren: subversion-perl-1.8.10-9.1.x86_64 .....................[GEREED]
(18/19) Installeren: libsvn_auth_kwallet-1-0-1.8.10-9.1.x86_64 .............[GEREED]
(19/19) Installeren: git-svn-2.6.6-7.1.x86_64 ..............................[GEREED]
Nu kunnen we de broncode met de volgende opdracht van github downloaden:
dany@laptop:~> git clone https://github.com/visit1985/mdp.git
Cloning into 'mdp'...
remote: Counting objects: 1183, done.
remote: Total 1183 (delta 0), reused 0 (delta 0), pack-reused 1183
Receiving objects: 100% (1183/1183), 320.69 KiB | 442.00 KiB/s, done.
Resolving deltas: 100% (795/795), done.
Checking connectivity... done.
Daarna openen we de map met de broncode:
dany@laptop:~> cd mdp/
Daarna kan je mdp met de volgende opdracht compileren:
dany@laptop:~/mdp> make
make -C src
make[1]: Map '/home/dany/mdp/src' wordt binnengegaan
cc -O3 -Wall -I../include -c -o cstring.o cstring.c
cc -O3 -Wall -I../include -c -o viewer.o viewer.c
viewer.c: In function ‘ncurses_display’:
viewer.c:288:13: warning: implicit declaration of function ‘mvwaddwstr’ [-Wimplicit-function-declaration]
mvwaddwstr(stdscr,
^
viewer.c:357:17: warning: implicit declaration of function ‘waddwstr’ [-Wimplicit-function-declaration]
waddwstr(content, url_get_target(i));
^
viewer.c: In function ‘inline_display’:
viewer.c:763:25: warning: implicit declaration of function ‘waddnwstr’ [-Wimplicit-function-declaration]
waddnwstr(window, i, 1);
^
cc -O3 -Wall -I../include -c -o markdown.o markdown.c
cc -O3 -Wall -I../include -c -o parser.o parser.c
cc -O3 -Wall -I../include -c -o main.o main.c
cc -O3 -Wall -I../include -c -o url.o url.c
cc -O3 -Wall -I../include -c -o cstack.o cstack.c
make[1]: Map '/home/dany/mdp/src' wordt verlaten
cc src/cstring.o src/viewer.o src/markdown.o src/parser.o src/main.o src/url.o src/cstack.o -lncursesw -s -o mdp
Uiteindelijk installeer je mdp met de volgende opdracht:
dany@laptop:~/mdp> sudo make install
root's password:
install -d /usr/local/bin
install -m 755 mdp /usr/local/bin/mdp
install -d /usr/local/share/man/man1
install -m 644 mdp.1 /usr/local/share/man/man1/mdp.1
Een mdp maak je met je favoriete teksteditor. Wie vertrouwd is met Markdown kan zo met mdp van start gaan. Mensen die nog niet met Markdown gewerkt hebben, leren dit het best met enkele voorbeelden. Vandaar dit voorbeeld:
%title: Voorbeeld Presentatie met mdp %author: Dan Nanni, Dany Pinoy %date: 2016-05-21 -> Dit is een slide titel <- ========= -> mdp is een terminal presentatieprogramma met markdown ondersteuning. <- *_Kenmerken_* * Koppen met verschillende niveau's * * Broncode blokopmaak * * Geneste citaten * * Geneste lijsten * * Gemarkeerde de onderstreepte tekst * * Citaten * * Speciale tekens met UTF-8 karakters * ------------------------------------------------- -> # Voorbeeld van een geneste lijst <- Dit is een voorbeeld met koppen en een geneste lijst. # Hoofdtitel ## Ondertitel - *item 1* - sub-item 1 - sub-sub-item 1 - sub-sub-item 2 - sub-sub-item 3 - sub-item 2 ------------------------------------------------- -> # Voorbeeld met broncode blokopmaak <- Dit voorbeeld toont de opmaak van een stukje broncode. 1 /* Hello World program */ 2 3 #include <stdio.h> 4 5 int main() 6 { 7 printf("Hello World"); 8 return 0; 9 } Dit voorbeeld toont broncode in een zin: `sudo shutdown -h now` ------------------------------------------------- -> # Voorbeeld met geneste citaten <- Dit is een voorbeeld met geneste citaten. # Citaten in drie niveau's > Dit is het citaat in et eerste niveau. >> Dit is het citaat in het tweede niveau >> dat hier wordt voortgezet. >>> *Dit is het citaat in het derde niveau, en zo verder.* ------------------------------------------------- -> # Voorbeeld met citaten <- Dit voorbeeld toont hoe je kunt verwijzen in een presentatie. Dit voorbeeld is gepubliceert op [PindaNet](https://linux.pindanet.be) Volg me op [Twitter](https://twitter.com/danypinoy) Fantastish toch? ------------------------------------------------- -> # Voorbeeld met UTF-8 speciale tekens <- Dit voorbeeld gebruikt UTF-8 karakters. ae = ä, oe = ö, ue = ü, ss = ß alpha = α, beta = β, upsilon = Ʊ, phi = ɸ Omega = Ώ, Delta = Δ, Sigma = Σ ▛▀▀▀▀▀▀▀▀▀▜ ▌rechthoek▐ ▙▄▄▄▄▄▄▄▄▄▟
Na het opslaan van bovenstaande voorbeeld in het bestand slide.md bekijk je de presentatie met de opdracht:
dany@laptop:~> mdp slide.md
De opeenvolgende pagina's doorloop je met de pijltoetsen, met de q-toets verlaat je de presentatie.
En dan nu het resultaat: