├── thesis ├── README.md ├── img │ ├── screens │ │ ├── rww.jpg │ │ ├── acl_ui.jpg │ │ ├── pin_gen.jpg │ │ ├── sac_ui.jpg │ │ ├── view_html.jpg │ │ └── public_wall.jpg │ ├── air_ontology.jpg │ ├── airj_ontology.jpg │ ├── s4ac_ontology.jpg │ ├── s4ac_ontology.png │ ├── walled_garden.jpg │ └── WebID-overview.png ├── page-garde_en.docx ├── page-garde_fr.docx ├── .gitignore ├── build.sh ├── acronyms.tex ├── appendix.tex ├── thesis.tex ├── minted.sty └── svg │ ├── context_tags.svg │ ├── webid-conneg.svg │ ├── context_users.svg │ └── web-evo.svg ├── README.md ├── presentation ├── README.md ├── favicon.ico ├── pictures │ ├── WebID.png │ ├── auth.png │ ├── cover.jpg │ ├── idp.jpg │ ├── idps.jpg │ ├── logo.png │ ├── rww.jpg │ ├── rww.png │ ├── sacs.png │ ├── upmc.jpg │ ├── webid.png │ ├── content.png │ ├── id-auth.jpg │ ├── logoTSP.gif │ ├── profile.png │ ├── samovar.jpg │ ├── web-evo.png │ ├── algo-rme.png │ ├── algo-sac.png │ ├── cert-gen.png │ ├── idps-now.jpg │ ├── myprofile.jpg │ ├── proximity.png │ ├── proximity0.png │ ├── rme-high.png │ ├── sac-high.png │ ├── scenario │ │ ├── 0.png │ │ ├── 1.png │ │ └── 2.png │ ├── webid-tls.png │ ├── user-centred.jpg │ ├── webid-action.png │ ├── webid-conneg.png │ ├── webid-timbl.png │ ├── myprofile-logo.jpg │ ├── walled_garden.jpg │ ├── webid-delegated.png │ ├── webid-privacy.png │ ├── profile-webidtls.png │ ├── profile-webidtls1.png │ ├── src │ │ └── user-centred.xcf │ └── webid.svg ├── shower │ ├── themes │ │ ├── bright │ │ │ ├── index.pdf │ │ │ ├── images │ │ │ │ ├── mesh.png │ │ │ │ ├── mesh@2x.png │ │ │ │ ├── grid-16x10.svg │ │ │ │ └── grid-4x3.svg │ │ │ ├── pictures │ │ │ │ ├── tall.png │ │ │ │ ├── wide.png │ │ │ │ ├── exact.png │ │ │ │ └── square.png │ │ │ ├── fonts │ │ │ │ ├── OpenSans.woff │ │ │ │ ├── Anka.Coder.woff │ │ │ │ ├── OpenSans.Bold.woff │ │ │ │ ├── OpenSans.Italic.woff │ │ │ │ ├── OpenSans.Light.woff │ │ │ │ ├── Anka.Coder.Italic.woff │ │ │ │ └── OpenSans.Bold.Italic.woff │ │ │ ├── styles │ │ │ │ ├── fonts.scss │ │ │ │ ├── reset.scss │ │ │ │ ├── defaults.scss │ │ │ │ ├── screen.css │ │ │ │ └── screen.scss │ │ │ ├── License.md │ │ │ └── index.html │ │ └── ribbon │ │ │ ├── index.pdf │ │ │ ├── fonts │ │ │ ├── Oleo.woff │ │ │ ├── PTMono.woff │ │ │ ├── PTSans.woff │ │ │ ├── PTSans.Bold.woff │ │ │ ├── PTSans.Italic.woff │ │ │ ├── PTSans.Bold.Italic.woff │ │ │ └── PTSans.Narrow.Bold.woff │ │ │ ├── images │ │ │ ├── linen.png │ │ │ ├── linen@2x.png │ │ │ ├── ribbon.svg │ │ │ ├── progress.svg │ │ │ ├── grid-16x10.svg │ │ │ └── grid-4x3.svg │ │ │ ├── pictures │ │ │ ├── tall.png │ │ │ ├── wide.png │ │ │ ├── exact.png │ │ │ └── square.png │ │ │ ├── styles │ │ │ ├── fonts.scss │ │ │ ├── reset.scss │ │ │ ├── defaults.scss │ │ │ ├── screen.css │ │ │ └── screen.scss │ │ │ ├── License.md │ │ │ └── index.html │ ├── License.md │ └── shower.min.js ├── License.md └── annex.html └── LICENSE /thesis/README.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | phd 2 | === 3 | 4 | My PhD thesis + presentation 5 | -------------------------------------------------------------------------------- /presentation/README.md: -------------------------------------------------------------------------------- 1 | phd 2 | === 3 | 4 | My PhD thesis + presentation 5 | -------------------------------------------------------------------------------- /presentation/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/favicon.ico -------------------------------------------------------------------------------- /thesis/img/screens/rww.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/screens/rww.jpg -------------------------------------------------------------------------------- /thesis/page-garde_en.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/page-garde_en.docx -------------------------------------------------------------------------------- /thesis/page-garde_fr.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/page-garde_fr.docx -------------------------------------------------------------------------------- /thesis/img/air_ontology.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/air_ontology.jpg -------------------------------------------------------------------------------- /thesis/img/airj_ontology.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/airj_ontology.jpg -------------------------------------------------------------------------------- /thesis/img/s4ac_ontology.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/s4ac_ontology.jpg -------------------------------------------------------------------------------- /thesis/img/s4ac_ontology.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/s4ac_ontology.png -------------------------------------------------------------------------------- /thesis/img/walled_garden.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/walled_garden.jpg -------------------------------------------------------------------------------- /presentation/pictures/WebID.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/WebID.png -------------------------------------------------------------------------------- /presentation/pictures/auth.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/auth.png -------------------------------------------------------------------------------- /presentation/pictures/cover.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/cover.jpg -------------------------------------------------------------------------------- /presentation/pictures/idp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/idp.jpg -------------------------------------------------------------------------------- /presentation/pictures/idps.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/idps.jpg -------------------------------------------------------------------------------- /presentation/pictures/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/logo.png -------------------------------------------------------------------------------- /presentation/pictures/rww.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/rww.jpg -------------------------------------------------------------------------------- /presentation/pictures/rww.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/rww.png -------------------------------------------------------------------------------- /presentation/pictures/sacs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/sacs.png -------------------------------------------------------------------------------- /presentation/pictures/upmc.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/upmc.jpg -------------------------------------------------------------------------------- /presentation/pictures/webid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid.png -------------------------------------------------------------------------------- /thesis/img/WebID-overview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/WebID-overview.png -------------------------------------------------------------------------------- /thesis/img/screens/acl_ui.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/screens/acl_ui.jpg -------------------------------------------------------------------------------- /thesis/img/screens/pin_gen.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/screens/pin_gen.jpg -------------------------------------------------------------------------------- /thesis/img/screens/sac_ui.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/screens/sac_ui.jpg -------------------------------------------------------------------------------- /presentation/pictures/content.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/content.png -------------------------------------------------------------------------------- /presentation/pictures/id-auth.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/id-auth.jpg -------------------------------------------------------------------------------- /presentation/pictures/logoTSP.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/logoTSP.gif -------------------------------------------------------------------------------- /presentation/pictures/profile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/profile.png -------------------------------------------------------------------------------- /presentation/pictures/samovar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/samovar.jpg -------------------------------------------------------------------------------- /presentation/pictures/web-evo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/web-evo.png -------------------------------------------------------------------------------- /thesis/img/screens/view_html.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/screens/view_html.jpg -------------------------------------------------------------------------------- /presentation/pictures/algo-rme.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/algo-rme.png -------------------------------------------------------------------------------- /presentation/pictures/algo-sac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/algo-sac.png -------------------------------------------------------------------------------- /presentation/pictures/cert-gen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/cert-gen.png -------------------------------------------------------------------------------- /presentation/pictures/idps-now.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/idps-now.jpg -------------------------------------------------------------------------------- /presentation/pictures/myprofile.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/myprofile.jpg -------------------------------------------------------------------------------- /presentation/pictures/proximity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/proximity.png -------------------------------------------------------------------------------- /presentation/pictures/proximity0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/proximity0.png -------------------------------------------------------------------------------- /presentation/pictures/rme-high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/rme-high.png -------------------------------------------------------------------------------- /presentation/pictures/sac-high.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/sac-high.png -------------------------------------------------------------------------------- /presentation/pictures/scenario/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/scenario/0.png -------------------------------------------------------------------------------- /presentation/pictures/scenario/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/scenario/1.png -------------------------------------------------------------------------------- /presentation/pictures/scenario/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/scenario/2.png -------------------------------------------------------------------------------- /presentation/pictures/webid-tls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid-tls.png -------------------------------------------------------------------------------- /thesis/img/screens/public_wall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/thesis/img/screens/public_wall.jpg -------------------------------------------------------------------------------- /presentation/pictures/user-centred.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/user-centred.jpg -------------------------------------------------------------------------------- /presentation/pictures/webid-action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid-action.png -------------------------------------------------------------------------------- /presentation/pictures/webid-conneg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid-conneg.png -------------------------------------------------------------------------------- /presentation/pictures/webid-timbl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid-timbl.png -------------------------------------------------------------------------------- /presentation/pictures/myprofile-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/myprofile-logo.jpg -------------------------------------------------------------------------------- /presentation/pictures/walled_garden.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/walled_garden.jpg -------------------------------------------------------------------------------- /presentation/pictures/webid-delegated.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid-delegated.png -------------------------------------------------------------------------------- /presentation/pictures/webid-privacy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/webid-privacy.png -------------------------------------------------------------------------------- /presentation/pictures/profile-webidtls.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/profile-webidtls.png -------------------------------------------------------------------------------- /presentation/pictures/profile-webidtls1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/profile-webidtls1.png -------------------------------------------------------------------------------- /presentation/pictures/src/user-centred.xcf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/pictures/src/user-centred.xcf -------------------------------------------------------------------------------- /presentation/shower/themes/bright/index.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/index.pdf -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/index.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/index.pdf -------------------------------------------------------------------------------- /thesis/.gitignore: -------------------------------------------------------------------------------- 1 | swlexers/* 2 | *.out 3 | *.aux 4 | *.bbl 5 | *.blg 6 | *.lof 7 | *.log 8 | *.lot 9 | *.pdf 10 | *.toc 11 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/images/mesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/images/mesh.png -------------------------------------------------------------------------------- /presentation/shower/themes/bright/pictures/tall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/pictures/tall.png -------------------------------------------------------------------------------- /presentation/shower/themes/bright/pictures/wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/pictures/wide.png -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/Oleo.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/Oleo.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/PTMono.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/PTMono.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/PTSans.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/PTSans.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/images/linen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/images/linen.png -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/pictures/tall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/pictures/tall.png -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/pictures/wide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/pictures/wide.png -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/OpenSans.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/OpenSans.woff -------------------------------------------------------------------------------- /presentation/shower/themes/bright/images/mesh@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/images/mesh@2x.png -------------------------------------------------------------------------------- /presentation/shower/themes/bright/pictures/exact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/pictures/exact.png -------------------------------------------------------------------------------- /presentation/shower/themes/bright/pictures/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/pictures/square.png -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/images/linen@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/images/linen@2x.png -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/pictures/exact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/pictures/exact.png -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/pictures/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/pictures/square.png -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/Anka.Coder.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/Anka.Coder.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/PTSans.Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/PTSans.Bold.woff -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/OpenSans.Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/OpenSans.Bold.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/PTSans.Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/PTSans.Italic.woff -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/OpenSans.Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/OpenSans.Italic.woff -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/OpenSans.Light.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/OpenSans.Light.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/images/ribbon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/Anka.Coder.Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/Anka.Coder.Italic.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/PTSans.Bold.Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/PTSans.Bold.Italic.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/fonts/PTSans.Narrow.Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/ribbon/fonts/PTSans.Narrow.Bold.woff -------------------------------------------------------------------------------- /presentation/shower/themes/bright/fonts/OpenSans.Bold.Italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/deiu/phd/master/presentation/shower/themes/bright/fonts/OpenSans.Bold.Italic.woff -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/images/progress.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /thesis/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | killall -15 pdflatex 3 | 4 | pdflatex -shell-escape thesis.tex && bibtex thesis.aux && pdflatex -shell-escape thesis.tex && pdflatex -shell-escape thesis.tex && rm *.aux *.out *.log *.blg *.toc *.loe *.lof *.lot *.bbl 5 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/images/grid-16x10.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/images/grid-16x10.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/images/grid-4x3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/images/grid-4x3.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/styles/fonts.scss: -------------------------------------------------------------------------------- 1 | // Ribbon theme for Shower HTML presentation engine: github.com/shower/shower 2 | // Copyright © 2010–2013 Vadim Makeev, pepelsbey.net 3 | // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License 4 | 5 | // PT Sans 6 | @font-face { 7 | font-family:'PT Sans'; 8 | src:url(../fonts/PTSans.woff) format('woff'); 9 | } 10 | @font-face { 11 | font-weight:bold; 12 | font-family:'PT Sans'; 13 | src:url(../fonts/PTSans.Bold.woff) format('woff'); 14 | } 15 | @font-face { 16 | font-style:italic; 17 | font-family:'PT Sans'; 18 | src:url(../fonts/PTSans.Italic.woff) format('woff'); 19 | } 20 | @font-face { 21 | font-style:italic; 22 | font-weight:bold; 23 | font-family:'PT Sans'; 24 | src:url(../fonts/PTSans.Bold.Italic.woff) format('woff'); 25 | } 26 | @font-face { 27 | font-family:'PT Sans Narrow'; 28 | font-weight:bold; 29 | src:url(../fonts/PTSans.Narrow.Bold.woff) format('woff'); 30 | } 31 | 32 | // PT Mono 33 | @font-face { 34 | font-family:'PT Mono'; 35 | src:url(../fonts/PTMono.woff) format('woff'); 36 | } -------------------------------------------------------------------------------- /presentation/shower/themes/bright/styles/fonts.scss: -------------------------------------------------------------------------------- 1 | // Bright theme for Shower HTML presentation engine: github.com/shower/shower 2 | // Copyright © 2010–2013 Vadim Makeev, pepelsbey.net 3 | // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License 4 | 5 | // Open Sans 6 | @font-face { 7 | font-family:'Open Sans'; 8 | src:url(../fonts/OpenSans.woff) format('woff'); 9 | } 10 | @font-face { 11 | font-weight:bold; 12 | font-family:'Open Sans'; 13 | src:url(../fonts/OpenSans.Bold.woff) format('woff'); 14 | } 15 | @font-face { 16 | font-style:italic; 17 | font-family:'Open Sans'; 18 | src:url(../fonts/OpenSans.Italic.woff) format('woff'); 19 | } 20 | @font-face { 21 | font-style:italic; 22 | font-weight:bold; 23 | font-family:'Open Sans'; 24 | src:url(../fonts/OpenSans.Bold.Italic.woff) format('woff'); 25 | } 26 | @font-face { 27 | font-family:'Open Sans Light'; 28 | src:url(../fonts/OpenSans.Light.woff) format('woff'); 29 | } 30 | 31 | // Anka Coder 32 | @font-face { 33 | font-family:'Anka Coder'; 34 | src:url(../fonts/Anka.Coder.woff) format('woff'); 35 | } 36 | @font-face { 37 | font-style:italic; 38 | font-family:'Anka Coder'; 39 | src:url(../fonts/Anka.Coder.Italic.woff) format('woff'); 40 | } -------------------------------------------------------------------------------- /presentation/shower/themes/bright/styles/reset.scss: -------------------------------------------------------------------------------- 1 | // http://meyerweb.com/eric/tools/css/reset/ 2 | // v2.0 | 20110126 3 | // License: none (public domain) 4 | 5 | html, body, div, span, applet, object, iframe, 6 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 7 | a, abbr, acronym, address, big, cite, code, 8 | del, dfn, em, img, ins, kbd, q, s, samp, 9 | small, strike, strong, sub, sup, tt, var, 10 | b, u, i, center, 11 | dl, dt, dd, ol, ul, li, 12 | fieldset, form, label, legend, 13 | table, caption, tbody, tfoot, thead, tr, th, td, 14 | article, aside, canvas, details, embed, 15 | figure, figcaption, footer, header, hgroup, 16 | menu, nav, output, ruby, section, summary, 17 | time, mark, audio, video { 18 | margin:0; 19 | padding:0; 20 | border:0; 21 | font-size:100%; 22 | font:inherit; 23 | vertical-align:baseline; 24 | } 25 | article, aside, details, figcaption, figure, 26 | footer, header, hgroup, menu, nav, section { 27 | display:block; 28 | } 29 | body { 30 | line-height:1; 31 | } 32 | ol, ul { 33 | list-style:none; 34 | } 35 | blockquote, q { 36 | quotes:none; 37 | } 38 | blockquote:before, blockquote:after, 39 | q:before, q:after { 40 | content:''; 41 | content:none; 42 | } 43 | table { 44 | border-collapse:collapse; 45 | border-spacing:0; 46 | } -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/styles/reset.scss: -------------------------------------------------------------------------------- 1 | // http://meyerweb.com/eric/tools/css/reset/ 2 | // v2.0 | 20110126 3 | // License: none (public domain) 4 | 5 | html, body, div, span, applet, object, iframe, 6 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 7 | a, abbr, acronym, address, big, cite, code, 8 | del, dfn, em, img, ins, kbd, q, s, samp, 9 | small, strike, strong, sub, sup, tt, var, 10 | b, u, i, center, 11 | dl, dt, dd, ol, ul, li, 12 | fieldset, form, label, legend, 13 | table, caption, tbody, tfoot, thead, tr, th, td, 14 | article, aside, canvas, details, embed, 15 | figure, figcaption, footer, header, hgroup, 16 | menu, nav, output, ruby, section, summary, 17 | time, mark, audio, video { 18 | margin:0; 19 | padding:0; 20 | border:0; 21 | font-size:100%; 22 | font:inherit; 23 | vertical-align:baseline; 24 | } 25 | article, aside, details, figcaption, figure, 26 | footer, header, hgroup, menu, nav, section { 27 | display:block; 28 | } 29 | body { 30 | line-height:1; 31 | } 32 | ol, ul { 33 | list-style:none; 34 | } 35 | blockquote, q { 36 | quotes:none; 37 | } 38 | blockquote:before, blockquote:after, 39 | q:before, q:after { 40 | content:''; 41 | content:none; 42 | } 43 | table { 44 | border-collapse:collapse; 45 | border-spacing:0; 46 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | This is free and unencumbered software released into the public domain. 2 | 3 | Anyone is free to copy, modify, publish, use, compile, sell, or 4 | distribute this software, either in source code form or as a compiled 5 | binary, for any purpose, commercial or non-commercial, and by any 6 | means. 7 | 8 | In jurisdictions that recognize copyright laws, the author or authors 9 | of this software dedicate any and all copyright interest in the 10 | software to the public domain. We make this dedication for the benefit 11 | of the public at large and to the detriment of our heirs and 12 | successors. We intend this dedication to be an overt act of 13 | relinquishment in perpetuity of all present and future rights to this 14 | software under copyright law. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR 20 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 21 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | 24 | For more information, please refer to 25 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/styles/defaults.scss: -------------------------------------------------------------------------------- 1 | // Bright theme for Shower HTML presentation engine: github.com/shower/shower 2 | // Copyright © 2010–2013 Vadim Makeev, pepelsbey.net 3 | // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License 4 | 5 | // Colors 6 | $color:#52A2DF; 7 | 8 | // Layout 9 | $top:100px; // Top padding above slide content 10 | $left:128px; // Left slide content padding 11 | $right:96px; // Right slide content padding 12 | $break:1180px; // Window width for small thumbnails to appear 13 | $ratio:''; 14 | 15 | // Slide Dimentions 16 | $width:1024px; 17 | $height:640px; 18 | 19 | // #52A2DF 1px 20 | $dot:'data:image/gif;base64,R0lGODdhAQABAPAAAFKi3wAAACH/C1hNUCBEYXRhWE1QAz94cAAsAAAAAAEAAQBAAgJEAQA7'; 21 | 22 | @if $height == 640px { 23 | $ratio:'16x10'; 24 | } 25 | @if $height == 768px { 26 | $ratio:'4x3'; 27 | $top:$top + 16px; 28 | } 29 | 30 | // Mixins 31 | @mixin retina { 32 | @media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi) { 33 | @content; 34 | } 35 | } 36 | @mixin tab-size($n) { 37 | -moz-tab-size:$n; 38 | -o-tab-size:$n; 39 | tab-size:$n; 40 | } 41 | @mixin transform($n) { 42 | -webkit-transform:$n; 43 | -moz-transform:$n; 44 | -ms-transform:$n; 45 | -o-transform:$n; 46 | transform:$n; 47 | } 48 | @mixin transform-origin($n) { 49 | -webkit-transform-origin:$n; 50 | -moz-transform-origin:$n; 51 | -ms-transform-origin:$n; 52 | -o-transform-origin:$n; 53 | transform-origin:$n; 54 | } 55 | @mixin transition($n) { 56 | -webkit-transition:$n; 57 | -moz-transition:$n; 58 | -o-transition:$n; 59 | transition:$n; 60 | } -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/styles/defaults.scss: -------------------------------------------------------------------------------- 1 | // Ribbon theme for Shower HTML presentation engine: github.com/shower/shower 2 | // Copyright © 2010–2013 Vadim Makeev, pepelsbey.net 3 | // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License 4 | 5 | // Layout 6 | $width:1024px; // Slide width, permanent in most cases 7 | $height:640px; // Slide height, 640px for 16/10, 768px for 4/3 8 | $top:105px; // Top padding above slide content 9 | $sides:120px; // Left and right paddings around slide content 10 | $break:1324px; // Window width for small thumbnails to appear 11 | $ratio:''; 12 | 13 | // Colors 14 | $blue:#4B86C2; 15 | $grey:#2A2B2D; 16 | $yellow:#FAFAA2; 17 | 18 | // #999 1px 19 | $dot:'data:image/gif;base64,R0lGODdhAQABAPAAAJmZmQAAACH/C1hNUCBEYXRhWE1QAj94ACwAAAAAAQABAAACAkQBADs='; 20 | 21 | // Ratio 22 | @if $height == 640px { 23 | $ratio:'16x10'; 24 | } 25 | @if $height == 768px { 26 | $ratio:'4x3'; 27 | } 28 | 29 | // Mixins 30 | @mixin retina { 31 | @media (-webkit-min-device-pixel-ratio:2), (min-resolution:192dpi) { 32 | @content; 33 | } 34 | } 35 | @mixin tab-size($n) { 36 | -moz-tab-size:$n; 37 | -o-tab-size:$n; 38 | tab-size:$n; 39 | } 40 | @mixin transform($n) { 41 | -webkit-transform:$n; 42 | -moz-transform:$n; 43 | -ms-transform:$n; 44 | -o-transform:$n; 45 | transform:$n; 46 | } 47 | @mixin transform-origin($n) { 48 | -webkit-transform-origin:$n; 49 | -moz-transform-origin:$n; 50 | -ms-transform-origin:$n; 51 | -o-transform-origin:$n; 52 | transform-origin:$n; 53 | } 54 | @mixin transition($n) { 55 | -webkit-transition:$n; 56 | -moz-transition:$n; 57 | -o-transition:$n; 58 | transition:$n; 59 | } -------------------------------------------------------------------------------- /presentation/License.md: -------------------------------------------------------------------------------- 1 | # The MIT License 2 | 3 | Copyright © 2010–2013 Vadim Makeev, http://pepelsbey.net/ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | 11 | --- 12 | 13 | # Лицензия MIT 14 | 15 | Copyright © 2010–2013 Вадим Макеев, http://pepelsbey.net/ 16 | 17 | Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: 18 | 19 | Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. 20 | 21 | ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. -------------------------------------------------------------------------------- /presentation/shower/License.md: -------------------------------------------------------------------------------- 1 | # The MIT License 2 | 3 | Copyright © 2010–2013 Vadim Makeev, http://pepelsbey.net/ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | 11 | --- 12 | 13 | # Лицензия MIT 14 | 15 | Copyright © 2010–2013 Вадим Макеев, http://pepelsbey.net/ 16 | 17 | Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: 18 | 19 | Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. 20 | 21 | ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. -------------------------------------------------------------------------------- /presentation/shower/themes/bright/License.md: -------------------------------------------------------------------------------- 1 | # The MIT License 2 | 3 | Copyright © 2010–2013 Vadim Makeev, http://pepelsbey.net/ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | 11 | --- 12 | 13 | # Лицензия MIT 14 | 15 | Copyright © 2010–2013 Вадим Макеев, http://pepelsbey.net/ 16 | 17 | Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: 18 | 19 | Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. 20 | 21 | ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/License.md: -------------------------------------------------------------------------------- 1 | # The MIT License 2 | 3 | Copyright © 2010–2013 Vadim Makeev, http://pepelsbey.net/ 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | 11 | --- 12 | 13 | # Лицензия MIT 14 | 15 | Copyright © 2010–2013 Вадим Макеев, http://pepelsbey.net/ 16 | 17 | Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий: 18 | 19 | Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения. 20 | 21 | ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ. -------------------------------------------------------------------------------- /thesis/acronyms.tex: -------------------------------------------------------------------------------- 1 | \chapter*{List of acronyms} 2 | \label{ch:acronyms} 3 | \markboth{\MakeUppercase{List of acronyms}}{} 4 | 5 | \begin{acronym} 6 | \acro{AC}{Access Condition} 7 | \acro{ACL}{Access Control List} 8 | \acro{AEC}{Access Evaluation Context} 9 | \acro{AIR}{Accountability in RDF} 10 | \acro{API}{Application Programming Interfaces} 11 | \acro{ATR}{Access Tagging Rule} 12 | \acro{CA}{Certification Authority} 13 | \acro{CRUD}{Create-Read-Update-Delete} 14 | \acro{CSR}{Certification Signing Request} 15 | \acro{DAC}{Discretionary Access Control} 16 | \acro{DANE}{DNS-Based Authentication of Named Entities} 17 | \acro{DN}{Distinguished Name} 18 | \acro{DNS}{Domain Name System} 19 | \acro{DNSSEC}{Domain Name System Security Extensions} 20 | \acro{DNT}{Do Not Track} 21 | \acro{DOAP}{Description of a Project} 22 | \acro{ETag}{Entity Tags} 23 | \acro{FOAF}{Friend-of-a-Friend} 24 | \acro{FQDN}{Fully Qualified Domain Name} 25 | \acro{GPG}{GNU Privacy Guard} 26 | \acro{HTTP}{Hypertext Transfer Protocol} 27 | \acro{HTTPS}{Hypertext Transfer Protocol Secure} 28 | \acro{IdP}{Identity Provider} 29 | \acro{ISP}{Internet Service Provider} 30 | \acro{JSON}{JavaScript Object Notation} 31 | \acro{LDP}{Linked Data Platform} 32 | \acro{LDPC}{Linked Data Platform Containers} 33 | \acro{LDPR}{Linked Data Platform Resource} 34 | \acro{MAC}{Mandatory Access Control} 35 | \acro{MIT}{Massachusetts Institute of Technology} 36 | \acro{N3}{Notation 3} 37 | \acro{OTP}{One-Time Password} 38 | \acro{PIN}{Personal Identification Number} 39 | \acro{PKI}{Public Key Infrastructure} 40 | \acro{RBAC}{Role-based Access Control} 41 | \acro{RDF}{Resource Description Framework} 42 | \acro{RDFa}{Resource Description Framework in Attributes} 43 | \acro{REST}{Representational State Transfer} 44 | \acro{RFC}{Request for Comments} 45 | \acro{RM}{Relationship Monitor} 46 | \acro{RP}{Relying Party} 47 | \acro{RSA}{Stands for Ron Rivest, Adi Shamir and Leonard Adleman, who first publicly described the cryptographic algorithm.} 48 | \acro{RWW.I/O}{Read-Write-Web Input/Output} 49 | \acro{S4AC}{Social Semantic SPARQL Security for Access Control} 50 | \acro{SAC}{Static Access Control} 51 | \acro{SACS}{Social Access Control Service} 52 | \acro{SAML}{Security Assertion Markup Language} 53 | \acro{SAN}{Subject Alternative Name} 54 | \acro{SIOC}{Semantically-Interlinked Online Communities} 55 | \acro{SP}{Service Provider} 56 | \acro{SPARQL}{SPARQL Protocol and RDF Query Language} 57 | \acro{SPKAC}{Signed Public Key and Challenge} 58 | \acro{SSL}{Secure Sockets Layer} 59 | \acro{SSWAC}{Social Semantic Web Access Control} 60 | \acro{TAKES}{Trustful Authentication and Key Exchange System} 61 | \acro{TLS}{Transport Layer Security} 62 | \acro{UI}{User Interface} 63 | \acro{URI}{Uniform Resource Identifier} 64 | \acro{URL}{Uniform Resource Locator} 65 | \acro{W3C}{World Wide Web Consortium} 66 | \acro{WAC}{Web Access Control} 67 | \acro{WebID}{Web Identity and Discovery} 68 | \acro{XACML}{eXtensible Access Control Markup Language} 69 | 70 | 71 | 72 | 73 | 74 | \end{acronym} -------------------------------------------------------------------------------- /presentation/pictures/webid.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /thesis/appendix.tex: -------------------------------------------------------------------------------- 1 | 2 | 3 | \addcontentsline{toc}{chapter}{Appendix - Examples} 4 | \chapter*{Appendix - Examples} 5 | \markboth{\MakeUppercase{Appendix - Examples}}{} 6 | 7 | \begin{example}[h] 8 | \begin{minted}{apache} 9 | 10 | ServerName my-profile.eu 11 | ServerAdmin admin@my-profile.eu 12 | 13 | DocumentRoot /var/www/myprofile 14 | 15 | Options FollowSymLinks 16 | AllowOverride All 17 | 18 | 19 | 20 | Options -Indexes FollowSymLinks MultiViews 21 | AllowOverride All 22 | Order allow,deny 23 | allow from all 24 | 25 | 26 | # Enable/Disable SSL for this virtual host. 27 | SSLEngine on 28 | 29 | # Log 30 | LogLevel info 31 | ErrorLog ${APACHE_LOG_DIR}/error-ssl.log 32 | CustomLog ${APACHE_LOG_DIR}/ssl_access.log combined 33 | 34 | # SECURITY - only accept TLS 35 | SSLProtocol All -SSLv2 36 | 37 | SSLCertificateFile /etc/ssl/certs/my-profile.eu.crt 38 | SSLCertificateKeyFile /etc/ssl/private/my-profile.key 39 | SSLCertificateChainFile /etc/apache2/cert/gandiCA.pem 40 | 41 | # MSIE 7 and newer should be able to use keepalive 42 | BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown 43 | 44 | \end{minted} 45 | \caption{Web server configuration file for MyProfile.} 46 | \label{app:mp_conf} 47 | \end{example} 48 | 49 | \newpage 50 | \begin{example}[h] 51 | \begin{minted}{apache} 52 | 53 | ServerName auth.my-profile.eu 54 | ServerAdmin admin@my-profile.eu 55 | 56 | DocumentRoot /var/www/auth 57 | 58 | Options FollowSymLinks 59 | AllowOverride All 60 | 61 | 62 | Options Indexes FollowSymLinks MultiViews 63 | AllowOverride All 64 | Order allow,deny 65 | allow from all 66 | 67 | 68 | # Possible values include: debug, info, notice, warn, error, crit, 69 | # alert, emerg. 70 | LogLevel debug 71 | 72 | ErrorLog ${APACHE_LOG_DIR}/error-auth.log 73 | CustomLog ${APACHE_LOG_DIR}/ssl_access-auth.log combined 74 | 75 | # SSL Engine Switch 76 | SSLEngine on 77 | 78 | # SECURITY 79 | # only accept TLS 80 | SSLProtocol All -SSLv2 81 | SSLInsecureRenegotiation on 82 | 83 | SSLCertificateFile /etc/ssl/certs/auth.my-profile.eu.crt 84 | SSLCertificateKeyFile /etc/ssl/private/auth.my-profile.eu.key 85 | SSLCertificateChainFile /etc/ssl/certs/gandi-intermediate.pem 86 | 87 | SSLVerifyClient optional_no_ca 88 | SSLVerifyDepth 9 89 | SSLOptions +StdEnvVars +ExportCertData +OptRenegotiate 90 | 91 | # MSIE 7 and newer should be able to use keepalive 92 | BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown 93 | 94 | \end{minted} 95 | \caption{Web server configuration file for the Relying Party.} 96 | \label{app:auth_conf} 97 | \end{example} 98 | 99 | \newpage 100 | \begin{example}[h] 101 | \begin{minted}{php} 102 | isAuthenticated()) { 107 | echo $auth->authnDiagnostic; 108 | echo ''; 109 | echo 'Click here to Login'; 110 | echo ''; 111 | } else { 112 | echo 'Your have succesfully logged in!'; 113 | print_r($auth); 114 | } 115 | \end{minted} 116 | \caption{Authenticating with WebIDDelegatedAuth.} 117 | \label{app:webiddelegatedauth} 118 | \end{example} 119 | -------------------------------------------------------------------------------- /thesis/thesis.tex: -------------------------------------------------------------------------------- 1 | \documentclass[a4paper]{book} 2 | %\documentclass[twosided]{book} 3 | % for < > 4 | 5 | \usepackage[T1]{fontenc} 6 | \usepackage[pdftex]{graphicx} 7 | \usepackage{fancyvrb} % Verbatim border 8 | \usepackage{alltt} 9 | \usepackage{acronym} 10 | \usepackage{pdfpages} 11 | 12 | % For text highlight 13 | \usepackage{minted} 14 | 15 | % break URLs 16 | %\usepackage[breaklinks=true]{hyperref} 17 | %\usepackage{breakurl} 18 | 19 | % colors 20 | \usepackage{color} 21 | \definecolor{light-gray}{gray}{0.95} 22 | \definecolor{medium-gray}{gray}{0.75} 23 | 24 | % header 25 | \usepackage{fancyhdr} 26 | \pagestyle{fancy} 27 | \renewcommand{\chaptermark}[1]% 28 | {\markboth{\MakeUppercase{\thechapter.\ #1}}{}} 29 | \renewcommand{\sectionmark}[1]% 30 | {\markright{\MakeUppercase{\thesection.\ #1}}} 31 | \renewcommand{\headrule}{{\color{medium-gray}% 32 | \hrule width\headwidth height\headrulewidth \vskip-\headrulewidth}} 33 | \renewcommand{\headrulewidth}{0.5pt} 34 | \renewcommand{\footrulewidth}{0pt} 35 | \newcommand{\helv}{% 36 | \fontfamily{phv}\fontsize{9}{11}\selectfont} 37 | \fancyhf{} 38 | \fancyhead[LE,RO]{\helv \thepage} 39 | \fancyhead[LO]{\helv \rightmark} 40 | \fancyhead[RE]{\helv \leftmark} 41 | 42 | % example class 43 | \usepackage{float} 44 | \floatstyle{plain} 45 | \newfloat{example}{thp}{loe} 46 | \floatname{example}{Example} 47 | 48 | % French 49 | \usepackage[utf8]{inputenc} 50 | %\usepackage[frenchb]{babel} 51 | 52 | % --- 53 | % Change the background colour of the algorithm floats. 54 | \usepackage{listings} 55 | 56 | \begin{document} 57 | \sloppy 58 | \thispagestyle{empty} 59 | \pagestyle{empty} 60 | \includepdf{page-garde_fr} 61 | 62 | ~\\ 63 | \newpage 64 | \includepdf{page-garde_en} 65 | 66 | \thispagestyle{empty} 67 | \pagestyle{empty} 68 | 69 | \chapter*{Acknowledgement} 70 | \thispagestyle{empty} 71 | \pagestyle{empty} 72 | First, I would like to express my deepest gratitude to my thesis supervisor, Professor Maryline Laurent, for her guidance throughout my thesis, for all the fruitful discussions that we had, and especially for her patience. Her wide knowledge and her logical way of thinking have been of great value for me. I would also like to thank her for being attentive towards me and providing me with invaluable encouragements when I was lost and could not find my way.\\ 73 | 74 | My gratitude goes to Sir Tim Berners-Lee for having invited me to work under his guidance at MIT, as well as for his incredible work which inspired me to pursue this thesis.\\ 75 | 76 | I am very thankful to Olivier Berger, research engineer in the Informatics Department of TELECOM SudParis, for our extensive collaboration and for accepting to be member of the examination jury.\\ 77 | 78 | Many thanks go towards my colleagues and friends, from TELECOM SudParis and beyond, which supported me during all these years. Among them I would like to mention Aymen Boudguiga and Collins Mtita, with whom I have shared more than just an office.\\ 79 | 80 | I would finally like to thank my family for their continuous love and support. A special thank you goes to my wife Raluca for her love and constant support, for all the late nights and early mornings, and for keeping me sane over the past few months. Thank you for everything, but most of all, thank you for being my best friend. I owe you everything.\\ 81 | 82 | This work has been funded entirely by TELECOM SudParis, member of group Institut Mines-TELECOM. 83 | 84 | % abstract 85 | \chapter*{Abstract} 86 | \thispagestyle{empty} 87 | \pagestyle{empty} 88 | Ensuring personal data ownership and interoperability for decentralized social Web applications is currently a debated topic, especially when taking into consideration the aspects of privacy and access control. Since the user's data are such an important asset of the current business models for most social Websites, companies have no incentive to share data among each other or to offer users real ownership of their own data in terms of control and transparency of data usage. We have concluded therefore that it is important to improve the social Web in such a way that it allows for viable business models while still being able to provide increased data ownership and data interoperability compared to the current situation.\\ 89 | 90 | To this regard, we have focused our research on three different topics: identity, authentication and access control. First, we tackle the subject of decentralized identity by proposing a new Web standard called \textit{Web Identity and Discovery} (WebID), which offers a simple and universal identification mechanism that is distributed and openly extensible. Next, we move to the topic of authentication where we propose WebID-TLS, a decentralized authentication protocol that enables secure, efficient and user friendly authentication on the Web by allowing people to login using client certificates and without relying on Certification Authorities. We also extend the WebID-TLS protocol, offering delegated authentication and access delegation. Finally we present our last contribution, the Social Access Control Service, which serves to protect the privacy of Linked Data resources generated by users (e.g. profile data, wall posts, conversations, etc.) by applying two social metrics: the \textit{social proximity distance} and \textit{social contexts}. 91 | 92 | \newpage 93 | ~ 94 | \newpage 95 | 96 | \clearpage 97 | \pagenumbering{roman} 98 | \tableofcontents 99 | 100 | \pagestyle{fancy} 101 | 102 | % Acronyms 103 | \include{acronyms} 104 | 105 | % Examples 106 | \listof{example}{List of examples} 107 | 108 | % Figures 109 | \listoffigures 110 | 111 | 112 | 113 | % Introduction / Problem 114 | \include{intro} 115 | 116 | % Identity and authentication 117 | \include{webid} 118 | 119 | % ACL 120 | \include{access} 121 | 122 | % Implementations 123 | \include{implems} 124 | 125 | % Perspectives and conclusions 126 | \include{conclusions} 127 | 128 | % Publications 129 | \addcontentsline{toc}{chapter}{List of publications} 130 | \chapter*{List of publications} 131 | \markboth{\MakeUppercase{List of publications}}{} 132 | 133 | \begin{enumerate} 134 | \item Andrei Vlad Sambra, Henry Story, Tim Berners-Lee. WebID Specification. \textit{Working draft}, 2013. https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/identity-respec.html 135 | 136 | \item Toby Inkster, Henry Story, B. Harbulot, Andrei Vlad Sambra. WebID-TLS Specification. \textit{Working draft}, 2013. 137 | https://dvcs.w3.org/hg/WebID/raw-file/tip/spec/tls-respec.html 138 | 139 | \item Sebastian Tramp, Henry Story, Andrei Vlad Sambra, Philipp Frischmuth, et al. Extending the WebID Protocol with Access Delegation. \textit{Proceedings of the Third International Workshop on Consuming Linked Data (COLD2012)}, 2012. 140 | 141 | \item Andrei Vlad Sambra, Maryline Laurent. Context-Aware Decentralized Approach for Web Services. In \textit{Services (SERVICES), 2012 IEEE Eighth World Congress}, pages 73--79. IEEE 2012. 142 | 143 | \item Andrei Vlad Sambra, Henry Story, Henry et al. Friending On The Social Web. \textit{W3C's Federated Social Web}, 2011. 144 | 145 | \item Andrei Vlad Sambra, Maryline Laurent. MyProfile-Decentralized User Profile and Identity on the Web. \textit{W3C's Federated Social Web (FSW2011)}, 2011. 146 | 147 | \item Andrei Vlad Sambra, Maryline Laurent. MyProfile-Privacy Aware Decentralized Identity on the Web. \textit{1st International Conference on Secure networking and Applications (ICSNA)}. 2011 148 | 149 | \item Tony Cheneau, Andrei Vlad Sambra, Maryline Laurent. A Trustful Authentication and Key Exchange Scheme (TAKES) for ad hoc networks. In \textit{Network and System Security (NSS), 2011 5th International Conference}, pages 249--253. IEEE, 2011. 150 | \end{enumerate} 151 | 152 | % Appendix - French 153 | \include{french_resume} 154 | 155 | % Appendix - Examples 156 | \include{appendix} 157 | 158 | % general bibliography 159 | \addcontentsline{toc}{chapter}{Bibliography} 160 | \bibliographystyle{plain} 161 | \bibliography{thesis} 162 | 163 | \end{document} -------------------------------------------------------------------------------- /presentation/shower/themes/bright/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Bright theme for Shower 5 | 6 | 7 | 8 | 9 | 10 | 11 | 15 |
16 |

Presentation Title

17 |

Yours Truly, Famous Inc.

18 |
19 |
20 |

Header

21 |

Typewriter etsy messenger bag fingerstache, aesthetic vinyl semiotics twee DIY forage chillwave. Thundercats ennui messenger bag, squid carles chillwave shoreditch pickled cliche letterpress. DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips. Ennui keffiyeh thundercats jean shorts biodiesel. Terry richardson, swag blog locavore umami vegan helvetica. Fingerstache kale chips.

22 |
23 | Typewriter etsy messenger bag fingerstache. 24 |
25 |
26 |
27 |

Header

28 |

DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips. Ennui keffiyeh thundercats jean shorts biodiesel.

29 |

Typewriter etsy messenger bag fingerstache, aesthetic vinyl semiotics twee DIY forage chillwave. Thundercats ennui messenger bag, squid carles chillwave shoreditch pickled cliche letterpress.

30 |
31 | DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips. Ennui keffiyeh thundercats jean shorts biodiesel. 32 |
33 |
34 |
35 |

Lists in English typography

36 |
    37 |
  • Ennui keffiyeh thundercats
  • 38 |
  • Jean shorts biodiesel
  • 39 |
  • Terry richardson, swag blog 40 |
      41 |
    1. Locavore umami vegan helvetica
    2. 42 |
    3. Fingerstache kale chips
    4. 43 |
    5. Keytar sriracha gluten-free
    6. 44 |
    45 |
  • 46 |
  • Before they sold out master
  • 47 |
48 |
49 |
50 |

Lists in Russian typography

51 |
    52 |
  • Ennui keffiyeh thundercats
  • 53 |
  • Jean shorts biodiesel
  • 54 |
  • Terry richardson, swag blog 55 |
      56 |
    1. Locavore umami vegan helvetica
    2. 57 |
    3. Fingerstache kale chips
    4. 58 |
    5. Keytar sriracha gluten-free
    6. 59 |
    60 |
  • 61 |
  • Before they sold out master
  • 62 |
63 |
64 |
65 |

Lists in English typography

66 |
    67 |
  1. Locavore umami vegan helvetica
  2. 68 |
  3. Fingerstache kale chips
  4. 69 |
  5. Keytar sriracha gluten-free
  6. 70 |
71 |
    72 |
  • Ennui keffiyeh thundercats
  • 73 |
  • Jean shorts biodiesel
  • 74 |
  • Terry richardson, swag blog
  • 75 |
76 |
77 |
78 |

Quote

79 |
80 |
81 |

Typewriter etsy messenger bag fingerstache, aesthetic vinyl semiotics twee DIY forage chillwave. Thundercats ennui messenger bag, squid carles chillwave shoreditch pickled cliche letterpress.

82 |
83 |
Author Name
84 |
85 |

DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips.

86 |
87 |
88 |

Table

89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 |
LocavoreUmamiHelveticaVegan
FingerstacheKaleChipsKeytar
SrirachaGluten-freeEnnuiKeffiyeh
ThundercatsJeanShortsBiodiesel
TerryRichardsonSwagBlog
121 |

Typewriter etsy messenger bag fingerstache.

122 |
123 |
124 |

Numbered code listing

125 |
126 | 			<html lang="en">
127 | 			<head> <!--Comment-->
128 | 			    <title>Shower</title>
129 | 			    <meta charset="UTF-8">
130 | 			    <link rel="stylesheet" href="s/screen.css">
131 | 			    <script src="j/jquery.js"></script>
132 | 			</head>
133 | 		
134 |
135 |
136 |

Plain code listing

137 |
<html lang="en">
138 | <head> <!--Comment-->
139 |     <title>Shower</title>
140 |     <meta charset="UTF-8">
141 |     <link rel="stylesheet" href="s/screen.css">
142 |     <script src="j/jquery.js"></script>
143 | </head>
144 |
145 |
146 |

147 | You Can
148 | Shout This Way 149 |

150 |
151 | Typewriter etsy messenger bag fingerstache. 152 |
153 |
154 |
155 |

Sliding Right

156 |
157 |
158 |

Sliding Up

159 |
160 |
161 | 162 |
163 |
164 | 165 |
166 |
167 | 168 |
169 | Typewriter etsy messenger bag fingerstache. 170 |
171 |
172 |
173 | 174 |
175 |
176 | 177 |
178 |
179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 |
189 |
190 |

Timer

191 |

Three seconds to go.

192 |
193 |
194 |

List navigation

195 |
    196 |
  1. Ennui keffiyeh thundercats
  2. 197 | 198 | 199 | 200 | 201 |
202 |

Before they sold out master

203 |
204 |

Fork me on Github

205 | 209 |
210 | 211 | 212 | 213 | -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ribbon theme for Shower 5 | 6 | 7 | 8 | 9 | 10 | 11 | 15 |
16 |

Presentation Title

17 |

Yours Truly, Famous Inc.

18 |
19 |
20 |

Header

21 |

Typewriter etsy messenger bag fingerstache, aesthetic vinyl semiotics twee DIY forage chillwave. Thundercats ennui messenger bag, squid carles chillwave shoreditch pickled cliche letterpress. DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips. Ennui keffiyeh thundercats jean shorts biodiesel. Terry richardson, swag blog locavore umami vegan helvetica. Fingerstache kale chips.

22 |
23 | Typewriter etsy messenger bag fingerstache. 24 |
25 |
26 |
27 |

Header

28 |

Thundercats ennui messenger bag, squid carles chillwave shoreditch pickled cliche letterpress. DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips. Ennui keffiyeh thundercats jean shorts biodiesel. Terry richardson, swag blog locavore umami vegan helvetica. Fingerstache kale chips.

29 |

Typewriter etsy messenger bag fingerstache.

30 |
31 | DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips. Ennui keffiyeh thundercats jean shorts biodiesel. 32 |
33 |
34 |
35 |

Lists in English typography

36 |
    37 |
  • Ennui keffiyeh thundercats
  • 38 |
  • Jean shorts biodiesel
  • 39 |
  • Terry richardson, swag blog 40 |
      41 |
    1. Locavore umami vegan helvetica
    2. 42 |
    3. Fingerstache kale chips
    4. 43 |
    5. Keytar sriracha gluten-free
    6. 44 |
    45 |
  • 46 |
  • Before they sold out master
  • 47 |
48 |
49 |
50 |

Lists in Russian typography

51 |
    52 |
  • Ennui keffiyeh thundercats
  • 53 |
  • Jean shorts biodiesel
  • 54 |
  • Terry richardson, swag blog 55 |
      56 |
    1. Locavore umami vegan helvetica
    2. 57 |
    3. Fingerstache kale chips
    4. 58 |
    5. Keytar sriracha gluten-free
    6. 59 |
    60 |
  • 61 |
  • Before they sold out master
  • 62 |
63 |
64 |
65 |

Lists in English typography

66 |
    67 |
  1. Locavore umami vegan helvetica
  2. 68 |
  3. Fingerstache kale chips
  4. 69 |
  5. Keytar sriracha gluten-free
  6. 70 |
71 |
    72 |
  • Ennui keffiyeh thundercats
  • 73 |
  • Jean shorts biodiesel
  • 74 |
  • Terry richardson, swag blog
  • 75 |
76 |
77 |
78 |

Quote

79 |
80 |
81 |

Typewriter etsy messenger bag fingerstache, aesthetic vinyl semiotics twee DIY forage chillwave. Thundercats ennui messenger bag, squid carles chillwave shoreditch pickled cliche letterpress.

82 |
83 |
Author Name
84 |
85 |

DIY beard locavore occupy salvia, whatever single-origin coffee fanny pack 3 wolf moon typewriter gastropub kale chips.

86 |
87 |
88 |

Table

89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 |
LocavoreUmamiHelveticaVegan
FingerstacheKaleChipsKeytar
SrirachaGluten-freeEnnuiKeffiyeh
ThundercatsJeanShortsBiodiesel
TerryRichardsonSwagBlog
121 |

Typewriter etsy messenger bag fingerstache.

122 |
123 |
124 |

Numbered code listing

125 |
126 | 			<html lang="en">
127 | 			<head> <!--Comment-->
128 | 			    <title>Shower</title>
129 | 			    <meta charset="UTF-8">
130 | 			    <link rel="stylesheet" href="s/screen.css">
131 | 			    <script src="j/jquery.js"></script>
132 | 			</head>
133 | 		
134 |
135 |
136 |

Plain code listing

137 |
<html lang="en">
138 | <head> <!--Comment-->
139 |     <title>Shower</title>
140 |     <meta charset="UTF-8">
141 |     <link rel="stylesheet" href="s/screen.css">
142 |     <script src="j/jquery.js"></script>
143 | </head>
144 |
145 |
146 |

147 | You Can
148 | Shout This Way 149 |

150 |
151 | Typewriter etsy messenger bag fingerstache. 152 |
153 |
154 |
155 |

Growing Shout

156 |
157 |
158 |

Shrinking Shout

159 |
160 |
161 | 162 |
163 |
164 | 165 |
166 |
167 | 168 |
169 | Typewriter etsy messenger bag fingerstache. 170 |
171 |
172 |
173 | 174 |
175 |
176 | 177 |
178 |
179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 |
189 |
190 |

Timer

191 |

Three seconds to go.

192 |
193 |
194 |

List navigation

195 |
    196 |
  1. Ennui keffiyeh thundercats
  2. 197 | 198 | 199 | 200 | 201 |
202 |

Before they sold out master

203 |
204 |

Fork me on Github

205 | 209 |
210 | 211 | 212 | 213 | -------------------------------------------------------------------------------- /presentation/shower/shower.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Shower HTML presentation engine: github.com/shower/shower 3 | * @copyright 2010–2013 Vadim Makeev, pepelsbey.net 4 | * @license MIT license: github.com/shower/shower/wiki/MIT-License 5 | */ 6 | window.shower=window.shower||function(e,t,i){var r={},n=e.location,s=t.body,l=[],o=[],a,u=!!(e.history&&e.history.pushState);function d(e){for(var t in e){if(e.hasOwnProperty(t)){this[t]=e[t]}}}d.prototype={getSlideNumber:function(){return this.number},isLast:function(){return r.slideList.length===this.number+1},isFinished:function(){return this.innerComplete>=this.innerLength},process:function(e){if(this.timing){this.initTimer(e);return this}this.next(e);return this},initTimer:function(e){var t=this;if(!t.timing){return false}t.stopTimer();if(t.isFinished()){a=setInterval(function(){t.stopTimer();e.next()},t.timing*(t.innerLength||1))}else{a=setInterval(function(){if(t.isFinished()){t.stopTimer();e.next()}else{t.next(e)}},t.timing)}return this},stopTimer:function(){if(a){clearInterval(a);a=false}return this},prev:function(e){var i,r=this;if(!r.hasInnerNavigation||r.isFinished()||r.innerComplete===0){e.prev();return false}i=t.getElementById(r.id).querySelectorAll(".next.active");if(!i||i.length<1){return false}if(r.innerComplete>0){r.innerComplete--;i[i.length-1].classList.remove("active")}else{e.prev()}return this},next:function(e){var i,r=this;if(!r.hasInnerNavigation||r.isFinished()){e.next();return false}if(!r.isFinished()){i=t.getElementById(r.id).querySelectorAll(".next:not(.active)");i[0].classList.add("active");r.innerComplete++}return this}};r._getData=function(e,t){return e.dataset?e.dataset[t]:e.getAttribute("data-"+t)};r.slideList=[];r.init=function(e,i){var n;e=e||".slide";i=i||"div.progress div";l=t.querySelectorAll(e);o=t.querySelector(i);for(var s=0;s=r.slideList.length){e=r.slideList.length-1}return e};r._getSlideIdByEl=function(e){while("BODY"!==e.nodeName&&"HTML"!==e.nodeName){if(e.classList.contains("slide")){return e.id}else{e=e.parentNode}}return""};r._checkInteractiveElement=function(e){return"A"===e.target.nodeName};r.getSlideNumber=function(e){var t=r.slideList.length-1,i;if(e===""){i=0}for(;t>=0;--t){if(e===r.slideList[t].id){i=t;break}}return i};r.go=function(e,t){var i;if(!r._isNumber(e)){throw new Error("Gimme slide number as Number, baby!")}if(!r.slideList[e]){return false}n.hash=r.getSlideHash(e);r.updateProgress(e);r.updateActiveAndVisitedSlides(e);if(r.isSlideMode()){r.showPresenterNotes(e);i=r.slideList[e];if(i.timing){i.initTimer(r)}}if(typeof t==="function"){t()}return e};r.next=function(e){var t=r.getCurrentSlideNumber(),i=r.slideList[t+1];if(!i){return false}r.go(t+1);if(typeof e==="function"){e()}return this};r._turnNextSlide=function(e){var t=r.getCurrentSlideNumber(),i=r.slideList[t];if(r.isSlideMode()){i.stopTimer();i.next(r)}else{r.go(t+1)}if(typeof e==="function"){e()}return};r.prev=r.previous=function(e){var t=r.getCurrentSlideNumber();if(t<1){return false}r.go(t-1);if(typeof e==="function"){e()}return true};r._turnPreviousSlide=function(e){var t=r.getCurrentSlideNumber(),i=r.slideList[t];i.stopTimer();if(r.isSlideMode()){i.prev(r)}else{r.go(t-1)}if(typeof e==="function"){e()}return true};r.first=function(e){var t=r.slideList[r.getCurrentSlideNumber()];t.timing&&t.stopTimer();r.go(0);if(typeof e==="function"){e()}};r.last=function(e){var t=r.slideList[r.getCurrentSlideNumber()];t.timing&&t.stopTimer();r.go(r.slideList.length-1);if(typeof e==="function"){e()}};r.enterSlideMode=function(e){var t=r.getCurrentSlideNumber();s.classList.remove("list");s.classList.add("full");if(r.isListMode()&&u){history.pushState(null,null,n.pathname+"?full"+r.getSlideHash(t))}r._applyTransform(r._getTransform());if(typeof e==="function"){e()}return true};r.enterListMode=function(e){var t;s.classList.remove("full");s.classList.add("list");r.clearPresenterNotes();if(r.isListMode()){return false}t=r.getCurrentSlideNumber();r.slideList[t].stopTimer();if(r.isSlideMode()&&u){history.pushState(null,null,n.pathname+r.getSlideHash(t))}r.scrollToSlide(t);r._applyTransform("none");if(typeof e==="function"){e()}return true};r.toggleMode=function(e){if(r.isListMode()){r.enterSlideMode()}else{r.enterListMode()}if(typeof e==="function"){e()}return true};r.getCurrentSlideNumber=function(){var e=r.slideList.length-1,t=n.hash.substr(1);for(;e>=0;--e){if(t===r.slideList[e].id){return e}}return-1};r.scrollToSlide=function(i){var n,s=false;if(!r._isNumber(i)){throw new Error("Gimme slide number as Number, baby!")}if(r.isSlideMode()){throw new Error("You can't scroll to because you in slide mode. Please, switch to list mode.")}if(-1===i){return s}if(r.slideList[i]){n=t.getElementById(r.slideList[i].id);e.scrollTo(0,n.offsetTop);s=true}else{throw new Error("There is no slide with number "+i)}return s};r.isListMode=function(){return u?!/^full.*/.test(n.search.substr(1)):s.classList.contains("list")};r.isSlideMode=function(){return u?/^full.*/.test(n.search.substr(1)):s.classList.contains("full")};r.updateProgress=function(e){if(null===o){return false}if(!r._isNumber(e)){throw new Error("Gimme slide number as Number, baby!")}o.style.width=(100/(r.slideList.length-1)*r._normalizeSlideNumber(e)).toFixed(2)+"%";return true};r.updateActiveAndVisitedSlides=function(e){var i,n,s=r.slideList.length;e=r._normalizeSlideNumber(e);if(!r._isNumber(e)){throw new Error("Gimme slide number as Number, baby!")}for(i=0;ie){n.classList.remove("visited");n.classList.remove("active")}else{n.classList.remove("visited");n.classList.add("active")}}return true};r.clearPresenterNotes=function(){if(e.console&&e.console.clear){console.clear()}};r.showPresenterNotes=function(i){r.clearPresenterNotes();if(e.console){i=r._normalizeSlideNumber(i);var n=r.slideList[i].id,s=r.slideList[i+1]?r.slideList[i+1].id:null,l=t.getElementById(n).querySelector("footer");if(l&&l.innerHTML){console.info(l.innerHTML.replace(/\n\s+/g,"\n"))}if(s){var o=t.getElementById(s).querySelector("h2");if(o){o=o.innerHTML.replace(/^\s+|<[^>]+>/g,"");console.info("NEXT: "+o)}}}};r.getSlideHash=function(e){if(!r._isNumber(e)){throw new Error("Gimme slide number as Number, baby!")}e=r._normalizeSlideNumber(e);return"#"+r.slideList[e].id};e.addEventListener("DOMContentLoaded",function(){if(s.classList.contains("full")||r.isSlideMode()){r.go(r.getCurrentSlideNumber());r.enterSlideMode()}},false);e.addEventListener("popstate",function(){if(r.isListMode()){r.enterListMode()}else{r.enterSlideMode()}},false);e.addEventListener("resize",function(){if(r.isSlideMode()){r._applyTransform(r._getTransform())}},false);t.addEventListener("keydown",function(e){var t=r.getCurrentSlideNumber(),i=r.slideList[t!==-1?t:0],n;switch(e.which){case 80:if(r.isListMode()&&e.altKey&&e.metaKey){e.preventDefault();n=i.number;r.go(n);r.enterSlideMode();r.showPresenterNotes(n);i.timing&&i.initTimer(r)}break;case 116:e.preventDefault();if(r.isListMode()){n=e.shiftKey?i.number:0;r.go(n);r.enterSlideMode();r.showPresenterNotes(n);i.timing&&i.initTimer(r)}else{r.enterListMode()}break;case 13:if(r.isListMode()&&-1!==t){e.preventDefault();r.enterSlideMode();r.showPresenterNotes(t);i.timing&&i.initTimer(r)}break;case 27:if(r.isSlideMode()){e.preventDefault();r.enterListMode()}break;case 33:case 38:case 37:case 72:case 75:if(e.altKey||e.ctrlKey||e.metaKey){return}e.preventDefault();r._turnPreviousSlide();break;case 34:case 40:case 39:case 76:case 74:if(e.altKey||e.ctrlKey||e.metaKey){return}e.preventDefault();r._turnNextSlide();break;case 36:e.preventDefault();r.first();break;case 35:e.preventDefault();r.last();break;case 9:case 32:e.preventDefault();r[e.shiftKey?"_turnPreviousSlide":"_turnNextSlide"]();break;default:}},false);r.init();t.addEventListener("click",function(e){var t=r.getSlideNumber(r._getSlideIdByEl(e.target)),i;if(r.isListMode()&&r._getSlideIdByEl(e.target)){r.go(t);r.enterSlideMode();r.showPresenterNotes(t);i=r.slideList[t];if(i.timing){i.initTimer(r)}}},false);t.addEventListener("touchstart",function(t){var i=r.getSlideNumber(r._getSlideIdByEl(t.target)),n,s;if(r._getSlideIdByEl(t.target)){if(r.isSlideMode()&&!r._checkInteractiveElement(t)){s=t.touches[0].pageX;if(s>e.innerWidth/2){r._turnNextSlide()}else{r._turnPreviousSlide()}}if(r.isListMode()){r.go(r.getSlideNumber(r._getSlideIdByEl(t.target)));r.enterSlideMode();r.showPresenterNotes(i);n=r.slideList[i];if(n.timing){n.initTimer(r)}}}},false);t.addEventListener("touchmove",function(e){if(r.isSlideMode()){e.preventDefault()}},false);return r}(this,this.document); -------------------------------------------------------------------------------- /thesis/minted.sty: -------------------------------------------------------------------------------- 1 | %% 2 | %% This is file `minted.sty', 3 | %% generated with the docstrip utility. 4 | %% 5 | %% The original source files were: 6 | %% 7 | %% minted.dtx (with options: `package') 8 | %% Copyright 2010--2011 Konrad Rudolph 9 | %% 10 | %% This work may be distributed and/or modified under the 11 | %% conditions of the LaTeX Project Public License, either version 1.3 12 | %% of this license or (at your option) any later version. 13 | %% The latest version of this license is in 14 | %% http://www.latex-project.org/lppl.txt 15 | %% and version 1.3 or later is part of all distributions of LaTeX 16 | %% version 2005/12/01 or later. 17 | %% 18 | %% Additionally, the project may be distributed under the terms of the new BSD 19 | %% license. 20 | %% 21 | %% This work has the LPPL maintenance status `maintained'. 22 | %% 23 | %% The Current Maintainer of this work is Konrad Rudolph. 24 | %% 25 | %% This work consists of the files minted.dtx and minted.ins 26 | %% and the derived file minted.sty. 27 | \NeedsTeXFormat{LaTeX2e} 28 | \ProvidesPackage{minted}[2011/09/17 v1.7 Yet another Pygments shim for LaTeX] 29 | \RequirePackage{keyval} 30 | \RequirePackage{fancyvrb} 31 | \RequirePackage{xcolor} 32 | \RequirePackage{float} 33 | \RequirePackage{ifthen} 34 | \RequirePackage{calc} 35 | \RequirePackage{ifplatform} 36 | \DeclareOption{chapter}{\def\minted@float@within{chapter}} 37 | \DeclareOption{section}{\def\minted@float@within{section}} 38 | \ProcessOptions\relax 39 | \ifwindows 40 | \providecommand\DeleteFile[1]{\immediate\write18{del #1}} 41 | \else 42 | \providecommand\DeleteFile[1]{\immediate\write18{rm #1}} 43 | \fi 44 | \newboolean{AppExists} 45 | \newcommand\TestAppExists[1]{ 46 | \ifwindows 47 | \DeleteFile{\jobname.aex} 48 | \immediate\write18{for \string^\@percentchar i in (#1.exe #1.bat #1.cmd) 49 | do set >\jobname.aex >\jobname.aex} %$ 50 | \newread\@appexistsfile 51 | \immediate\openin\@appexistsfile\jobname.aex 52 | \expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar} 53 | \endlinechar=-1\relax 54 | \readline\@appexistsfile to \@apppathifexists 55 | \endlinechar=\@tmp@cr 56 | \ifthenelse{\equal{\@apppathifexists}{}} 57 | {\AppExistsfalse} 58 | {\AppExiststrue} 59 | \immediate\closein\@appexistsfile 60 | \DeleteFile{\jobname.aex} 61 | \immediate\typeout{file deleted} 62 | \else 63 | \immediate\write18{which #1 && touch \jobname.aex} 64 | \IfFileExists{\jobname.aex} 65 | {\AppExiststrue 66 | \DeleteFile{\jobname.aex}} 67 | {\AppExistsfalse} 68 | \fi} 69 | \newcommand\minted@resetoptions{} 70 | \newcommand\minted@defopt[1]{ 71 | \expandafter\def\expandafter\minted@resetoptions\expandafter{% 72 | \minted@resetoptions 73 | \@namedef{minted@opt@#1}{}}} 74 | \newcommand\minted@opt[1]{ 75 | \expandafter\detokenize% 76 | \expandafter\expandafter\expandafter{\csname minted@opt@#1\endcsname}} 77 | \newcommand\minted@define@opt[3][]{ 78 | \minted@defopt{#2} 79 | \ifthenelse{\equal{#1}{}}{ 80 | \define@key{minted@opt}{#2}{\@namedef{minted@opt@#2}{#3}}} 81 | {\define@key{minted@opt}{#2}[#1]{\@namedef{minted@opt@#2}{#3}}}} 82 | \newcommand\minted@define@switch[3][]{ 83 | \minted@defopt{#2} 84 | \define@booleankey{minted@opt}{#2} 85 | {\@namedef{minted@opt@#2}{#3}} 86 | {\@namedef{minted@opt@#2}{#1}}} 87 | \minted@defopt{extra} 88 | \newcommand\minted@define@extra[1]{ 89 | \define@key{minted@opt}{#1}{ 90 | \expandafter\def\expandafter\minted@opt@extra\expandafter{% 91 | \minted@opt@extra,#1=##1}}} 92 | \newcommand\minted@define@extra@switch[1]{ 93 | \define@booleankey{minted@opt}{#1} 94 | {\expandafter\def\expandafter\minted@opt@extra\expandafter{% 95 | \minted@opt@extra,#1}} 96 | {\expandafter\def\expandafter\minted@opt@extra\expandafter{% 97 | \minted@opt@extra,#1=false}}} 98 | \minted@define@switch{texcl}{-P texcomments} 99 | \minted@define@switch{mathescape}{-P mathescape} 100 | \minted@define@switch{linenos}{-P linenos} 101 | \minted@define@switch{startinline}{-P startinline} 102 | \minted@define@switch[-P funcnamehighlighting=False]% 103 | {funcnamehighlighting}{-P funcnamehighlighting} 104 | \minted@define@opt{gobble}{-F gobble:n=#1} 105 | \minted@define@opt{bgcolor}{#1} 106 | \minted@define@extra{frame} 107 | \minted@define@extra{framesep} 108 | \minted@define@extra{framerule} 109 | \minted@define@extra{rulecolor} 110 | \minted@define@extra{numbersep} 111 | \minted@define@extra{firstnumber} 112 | \minted@define@extra{stepnumber} 113 | \minted@define@extra{firstline} 114 | \minted@define@extra{lastline} 115 | \minted@define@extra{baselinestretch} 116 | \minted@define@extra{xleftmargin} 117 | \minted@define@extra{xrightmargin} 118 | \minted@define@extra{fillcolor} 119 | \minted@define@extra{tabsize} 120 | \minted@define@extra{fontfamily} 121 | \minted@define@extra{fontsize} 122 | \minted@define@extra{fontshape} 123 | \minted@define@extra{fontseries} 124 | \minted@define@extra{formatcom} 125 | \minted@define@extra{label} 126 | \minted@define@extra@switch{numberblanklines} 127 | \minted@define@extra@switch{showspaces} 128 | \minted@define@extra@switch{resetmargins} 129 | \minted@define@extra@switch{samepage} 130 | \minted@define@extra@switch{showtabs} 131 | \minted@define@extra@switch{obeytabs} 132 | \newsavebox{\minted@bgbox} 133 | \newenvironment{minted@colorbg}[1]{ 134 | \def\minted@bgcol{#1} 135 | \noindent 136 | \begin{lrbox}{\minted@bgbox} 137 | \begin{minipage}{\linewidth-2\fboxsep}} 138 | {\end{minipage} 139 | \end{lrbox}% 140 | \colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}} 141 | \newwrite\minted@code 142 | \newcommand\minted@savecode[1]{ 143 | \immediate\openout\minted@code\jobname.pyg 144 | \immediate\write\minted@code{#1} 145 | \immediate\closeout\minted@code} 146 | \newcommand\minted@pygmentize[2][\jobname.pyg]{ 147 | \def\minted@cmd{pygmentize -l #2 -f latex -F tokenmerge 148 | \minted@opt{gobble} \minted@opt{texcl} \minted@opt{mathescape} 149 | \minted@opt{startinline} \minted@opt{funcnamehighlighting} 150 | \minted@opt{linenos} -P "verboptions=\minted@opt{extra}" 151 | -o \jobname.out.pyg #1} 152 | \immediate\write18{\minted@cmd} 153 | % For debugging, uncomment: 154 | %\immediate\typeout{\minted@cmd} 155 | \ifthenelse{\equal{\minted@opt@bgcolor}{}} 156 | {} 157 | {\begin{minted@colorbg}{\minted@opt@bgcolor}} 158 | \input{\jobname.out.pyg} 159 | \ifthenelse{\equal{\minted@opt@bgcolor}{}} 160 | {} 161 | {\end{minted@colorbg}} 162 | \DeleteFile{\jobname.out.pyg}} 163 | \newcommand\minted@usedefaultstyle{\usemintedstyle{default}} 164 | \newcommand\usemintedstyle[1]{ 165 | \renewcommand\minted@usedefaultstyle{} 166 | \immediate\write18{pygmentize -S #1 -f latex > \jobname.pyg} 167 | \input{\jobname.pyg}} 168 | \newcommand\mint[3][]{ 169 | \DefineShortVerb{#3} 170 | \minted@resetoptions 171 | \setkeys{minted@opt}{#1} 172 | \SaveVerb[aftersave={ 173 | \UndefineShortVerb{#3} 174 | \minted@savecode{\FV@SV@minted@verb} 175 | \minted@pygmentize{#2} 176 | \DeleteFile{\jobname.pyg}}]{minted@verb}#3} 177 | \newcommand\minted@proglang[1]{} 178 | \newenvironment{minted}[2][] 179 | {\VerbatimEnvironment 180 | \renewcommand{\minted@proglang}[1]{#2} 181 | \minted@resetoptions 182 | \setkeys{minted@opt}{#1} 183 | \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}% 184 | {\end{VerbatimOut} 185 | \minted@pygmentize{\minted@proglang{}} 186 | \DeleteFile{\jobname.pyg}} 187 | \newcommand\inputminted[3][]{ 188 | \minted@resetoptions 189 | \setkeys{minted@opt}{#1} 190 | \minted@pygmentize[#3]{#2}} 191 | \newcommand\newminted[3][]{ 192 | \ifthenelse{\equal{#1}{}} 193 | {\def\minted@envname{#2code}} 194 | {\def\minted@envname{#1}} 195 | \newenvironment{\minted@envname} 196 | {\VerbatimEnvironment\begin{minted}[#3]{#2}} 197 | {\end{minted}} 198 | \newenvironment{\minted@envname *}[1] 199 | {\VerbatimEnvironment\begin{minted}[#3,##1]{#2}} 200 | {\end{minted}}} 201 | \newcommand\newmint[3][]{ 202 | \ifthenelse{\equal{#1}{}} 203 | {\def\minted@shortname{#2}} 204 | {\def\minted@shortname{#1}} 205 | \expandafter\newcommand\csname\minted@shortname\endcsname[2][]{ 206 | \mint[#3,##1]{#2}##2}} 207 | \newcommand\newmintedfile[3][]{ 208 | \ifthenelse{\equal{#1}{}} 209 | {\def\minted@shortname{#2file}} 210 | {\def\minted@shortname{#1}} 211 | \expandafter\newcommand\csname\minted@shortname\endcsname[2][]{ 212 | \inputminted[#3,##1]{#2}{##2}}} 213 | \@ifundefined{minted@float@within} 214 | {\newfloat{listing}{h}{lol}} 215 | {\newfloat{listing}{h}{lol}[\minted@float@within]} 216 | \newcommand\listingscaption{Listing} 217 | \floatname{listing}{\listingscaption} 218 | \newcommand\listoflistingscaption{List of listings} 219 | \providecommand\listoflistings{\listof{listing}{\listoflistingscaption}} 220 | \AtBeginDocument{ 221 | \minted@usedefaultstyle} 222 | \AtEndOfPackage{ 223 | \ifnum\pdf@shellescape=1\relax\else 224 | \PackageError{minted} 225 | {You must invoke LaTeX with the 226 | -shell-escape flag} 227 | {Pass the -shell-escape flag to LaTeX. Refer to the minted.sty 228 | documentation for more information.}\fi 229 | \TestAppExists{pygmentize} 230 | \ifAppExists\else 231 | \PackageError{minted} 232 | {You must have `pygmentize' installed 233 | to use this package} 234 | {Refer to the installation instructions in the minted 235 | documentation for more information.} 236 | \fi} 237 | \endinput 238 | %% 239 | %% End of file `minted.sty'. 240 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/styles/screen.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:'Open Sans';src:url(../fonts/OpenSans.woff) format("woff")}@font-face{font-weight:bold;font-family:'Open Sans';src:url(../fonts/OpenSans.Bold.woff) format("woff")}@font-face{font-style:italic;font-family:'Open Sans';src:url(../fonts/OpenSans.Italic.woff) format("woff")}@font-face{font-style:italic;font-weight:bold;font-family:'Open Sans';src:url(../fonts/OpenSans.Bold.Italic.woff) format("woff")}@font-face{font-family:'Open Sans Light';src:url(../fonts/OpenSans.Light.woff) format("woff")}@font-face{font-family:'Anka Coder';src:url(../fonts/Anka.Coder.woff) format("woff")}@font-face{font-style:italic;font-family:'Anka Coder';src:url(../fonts/Anka.Coder.Italic.woff) format("woff")}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{counter-reset:slide;font:24px/2 'Open Sans', sans-serif}a{text-decoration:none}.caption{display:none;margin:0 0 60px;padding:0 50px 0 0;color:#555}.caption h1{font:50px 'Open Sans Light', sans-serif}.caption a{color:#52a2df}.caption a:hover{border-bottom:0.1em solid}.badge{position:absolute;top:0;right:0;display:none;overflow:hidden;visibility:hidden;width:11em;height:11em;line-height:2.5;font-size:15px}.badge a{position:absolute;bottom:50%;right:-50%;left:-50%;visibility:visible;background:#52a2df;color:#FFF;text-align:center;-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:rotate(45deg) translateY(-1em);-moz-transform:rotate(45deg) translateY(-1em);-ms-transform:rotate(45deg) translateY(-1em);-o-transform:rotate(45deg) translateY(-1em);transform:rotate(45deg) translateY(-1em)}.slide{position:relative;width:1024px;height:640px;background:#FFF;color:#000;-webkit-print-color-adjust:exact;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none}.slide:after{position:absolute;right:0;bottom:45px;left:0;color:#AAA;counter-increment:slide;content:counter(slide);text-align:center;line-height:1}.slide>div{position:absolute;top:0;left:0;overflow:hidden;padding:100px 96px 0 128px;width:800px;height:540px}.debug .slide{background-image:url(../images/grid-16x10.svg)}.slide h2{margin:0 0 58px;font:48px/1 'Open Sans Light', sans-serif}.slide p{margin:0 0 48px}.slide a{border-bottom:0.1em solid;color:#52a2df}.slide b,.slide strong{font-weight:bold}.slide i,.slide em{font-style:italic}.slide kbd,.slide code,.slide samp{padding:2px 7px;background:rgba(0,0,0,0.1);-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1;font-family:'Anka Coder', monospace}.slide blockquote{font-style:italic}.slide blockquote:before{position:absolute;margin:-50px 0 0 -100px;color:#DDD;content:'\201C';line-height:1;font-size:200px}.slide blockquote+figcaption{margin:-48px 0 48px;font-style:italic;font-weight:bold}.slide ol,.slide ul{margin:0 0 48px;counter-reset:list}.slide ol li,.slide ul li{text-indent:-2em}.slide ol li:before,.slide ul li:before{display:inline-block;width:2em;color:#AAA;text-align:right}.slide ol ol,.slide ol ul,.slide ul ol,.slide ul ul{margin:0 0 0 2em}.slide ul>li:before{content:'\2022\00A0\00A0\2009'}.slide ul>li:lang(ru):before{content:'\2014\00A0\2009'}.slide ol>li:before{counter-increment:list;content:counter(list) ".\00A0\2009"}.slide pre{margin:0 0 45px;padding:3px 0 0;counter-reset:code;white-space:normal}.slide pre code{display:block;padding:0;background:none;white-space:pre;line-height:2}.slide pre code:before{position:absolute;margin-left:-50px;color:#AAA;counter-increment:code;content:counter(code,decimal-leading-zero) "."}.slide pre code:only-child:before{content:''}.slide pre mark{background:none;color:#52a2df;font-style:normal}.slide pre mark.important{padding:3px 7px 0;background:#52a2df;color:#FFF}.slide pre mark.comment{color:#AAA}.slide table{margin:0 0 50px;width:100%;border-collapse:collapse;border-spacing:0}.slide table th,.slide table td{background:url("data:image/gif;base64,R0lGODdhAQABAPAAAFKi3wAAACH/C1hNUCBEYXRhWE1QAz94cAAsAAAAAAEAAQBAAgJEAQA7") 0 100% repeat-x}.slide table th{text-align:left;font-weight:bold}.slide table.striped tr:nth-child(even){background:#f1f7fc}.slide.cover,.slide.shout{z-index:1}.slide.cover:after,.slide.shout:after{content:''}.slide.cover{background:#000}.slide.cover img,.slide.cover svg,.slide.cover video,.slide.cover object,.slide.cover canvas{position:absolute;top:0;left:0;z-index:-1}.slide.cover.w img,.slide.cover.w svg,.slide.cover.w video,.slide.cover.w object,.slide.cover.w canvas{top:50%;width:100%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.slide.cover.h img,.slide.cover.h svg,.slide.cover.h video,.slide.cover.h object,.slide.cover.h canvas{left:50%;height:100%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.slide.cover.w.h img,.slide.cover.w.h svg,.slide.cover.w.h video,.slide.cover.w.h object,.slide.cover.w.h canvas{top:0;left:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.slide.shout{background:#52a2df}.slide.shout h2{position:absolute;top:50%;left:128px;right:96px;color:#FFF;font-size:100px;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.slide .place{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.slide .place.t.l,.slide .place.t.r,.slide .place.b.r,.slide .place.b.l{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.slide .place.t,.slide .place.b{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);-o-transform:translate(-50%, 0);transform:translate(-50%, 0)}.slide .place.l,.slide .place.r{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);-o-transform:translate(0, -50%);transform:translate(0, -50%)}.slide .place.t,.slide .place.t.l,.slide .place.t.r{top:0}.slide .place.r{right:0;left:auto}.slide .place.b,.slide .place.b.r,.slide .place.b.l{top:auto;bottom:0}.slide .place.l{left:0}.slide footer{position:absolute;left:0;right:0;bottom:-640px;z-index:1;display:none;padding:20px 96px 20px 128px;background:#fafac4;box-shadow:0 0 0 2px rgba(0,0,0,0.05);-webkit-transition:bottom 0.3s;-moz-transition:bottom 0.3s;-o-transition:bottom 0.3s;transition:bottom 0.3s}.slide:hover footer{bottom:0}@media screen{.list{position:absolute;clip:rect(0, auto, auto, 0);padding:50px 0 50px 50px;background:#e2e2e2 url(../images/mesh.png) 50% 0;text-align:center}.list .caption,.list .badge{display:block}.list .slide{position:relative;top:270px;display:inline-block;margin:-270px -462px 0 0;text-align:left;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(0.5);-moz-transform:scale(0.5);-ms-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5)}.list .slide:before{position:absolute;top:0;left:0;z-index:-1;width:512px;height:320px;box-shadow:0 0 0 1px #DDD;content:'';-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(2);-moz-transform:scale(2);-ms-transform:scale(2);-o-transform:scale(2);transform:scale(2)}.list .slide:after{top:100%;bottom:auto;padding-top:50px}.list .slide:hover:before{box-shadow:0 0 0 1px #eee,0 0 0 12px rgba(255,255,255,0.5)}.list .slide:target:before{box-shadow:0 0 10px 0 #3c96db,0 0 0 12px #52a2df}.list .slide:target:after{color:#52a2df}.list .slide>div:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;content:''}.list .slide.cover:after,.list .slide.shout:after{content:counter(slide)}.list .slide footer{display:block}.full{position:absolute;top:50%;left:50%;overflow:hidden;margin:-320px 0 0 -512px;width:1024px;height:640px;background:#000}.full .slide{position:absolute;top:0;left:0;margin-left:150%}.full .slide .next{visibility:hidden}.full .slide .next.active{visibility:visible}.full .slide:target{margin:0}.full .slide.shout.right h2,.full .slide.shout.up h2{opacity:0;-webkit-transition:all 0.4s ease-out;-moz-transition:all 0.4s ease-out;-o-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.full .slide.shout.right:target h2,.full .slide.shout.up:target h2{opacity:1;-webkit-transform:translateX(0) translateY(-50%);-moz-transform:translateX(0) translateY(-50%);-ms-transform:translateX(0) translateY(-50%);-o-transform:translateX(0) translateY(-50%);transform:translateX(0) translateY(-50%)}.full .slide.shout.right h2{-webkit-transform:translateX(-100%) translateY(-50%);-moz-transform:translateX(-100%) translateY(-50%);-ms-transform:translateX(-100%) translateY(-50%);-o-transform:translateX(-100%) translateY(-50%);transform:translateX(-100%) translateY(-50%)}.full .slide.shout.up h2{-webkit-transform:translateX(0) translateY(100%);-moz-transform:translateX(0) translateY(100%);-ms-transform:translateX(0) translateY(100%);-o-transform:translateX(0) translateY(100%);transform:translateX(0) translateY(100%)}.full .progress{position:absolute;right:0;bottom:0;left:0;z-index:1}.full .progress div{position:absolute;left:0;bottom:0;width:0;height:8px;background:#52a2df;-webkit-transition:width 0.2s linear;-moz-transition:width 0.2s linear;-o-transition:width 0.2s linear;transition:width 0.2s linear}}@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi){.list{background-image:url(../images/mesh@2x.png);background-size:256px}}@media screen and (max-width: 1180px){.list .slide{top:430px;margin:-430px -718px 0 0;-webkit-transform:scale(0.25);-moz-transform:scale(0.25);-ms-transform:scale(0.25);-o-transform:scale(0.25);transform:scale(0.25)}}@media screen and (max-width: 1180px){.list .slide:before{width:256px;height:160px;-webkit-transform:scale(4);-moz-transform:scale(4);-ms-transform:scale(4);-o-transform:scale(4);transform:scale(4)}}@media screen and (max-width: 1180px){.list .slide:after{width:512px;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(2);-moz-transform:scale(2);-ms-transform:scale(2);-o-transform:scale(2);transform:scale(2)}}@page{margin:0;size:1024px 640px} 2 | -------------------------------------------------------------------------------- /presentation/shower/themes/bright/styles/screen.scss: -------------------------------------------------------------------------------- 1 | // Bright theme for Shower HTML presentation engine: github.com/shower/shower 2 | // Copyright © 2010–2013 Vadim Makeev, pepelsbey.net 3 | // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License 4 | 5 | @import 'defaults'; 6 | @import 'fonts'; 7 | @import 'reset'; 8 | 9 | body { 10 | counter-reset:slide; 11 | font:24px/2 'Open Sans', sans-serif; 12 | } 13 | a { 14 | text-decoration:none; 15 | } 16 | 17 | // Caption 18 | // ------------------------------- 19 | .caption { 20 | display:none; 21 | margin:0 0 60px; 22 | padding:0 50px 0 0; 23 | color:#555; 24 | h1 { 25 | font:50px 'Open Sans Light', sans-serif; 26 | } 27 | a { 28 | color:$color; 29 | &:hover { 30 | border-bottom:0.1em solid; 31 | } 32 | } 33 | } 34 | 35 | // Badge 36 | // ------------------------------- 37 | .badge { 38 | position:absolute; 39 | top:0; 40 | right:0; 41 | display:none; 42 | overflow:hidden; 43 | visibility:hidden; 44 | width:11em; 45 | height:11em; 46 | line-height:2.5; 47 | font-size:15px; 48 | } 49 | .badge a { 50 | position:absolute; 51 | bottom:50%; 52 | right:-50%; 53 | left:-50%; 54 | visibility:visible; 55 | background:$color; 56 | color:#FFF; 57 | text-align:center; 58 | @include transform-origin(50% 100%); 59 | @include transform(rotate(45deg) translateY(-1em)); 60 | } 61 | 62 | // Slide 63 | // ------------------------------- 64 | .slide { 65 | position:relative; 66 | width:$width; 67 | height:$height; 68 | background:#FFF; 69 | color:#000; 70 | -webkit-print-color-adjust:exact; 71 | -webkit-text-size-adjust:none; 72 | -moz-text-size-adjust:none; 73 | -ms-text-size-adjust:none; 74 | // Number 75 | &:after { 76 | position:absolute; 77 | right:0; 78 | bottom:45px; 79 | left:0; 80 | color:#AAA; 81 | counter-increment:slide; 82 | content:counter(slide); 83 | text-align:center; 84 | line-height:1; 85 | } 86 | // Inner 87 | > div { 88 | position:absolute; 89 | top:0; 90 | left:0; 91 | overflow:hidden; 92 | padding:$top $right 0 $left; 93 | width:$width - $left - $right; 94 | height:$height - $top; 95 | } 96 | // Debug 97 | .debug & { 98 | background-image:url(../images/grid-#{$ratio}.svg); 99 | } 100 | } 101 | 102 | // Elements 103 | // ------------------------------- 104 | .slide { 105 | // Header 106 | h2 { 107 | margin:0 0 58px; 108 | font:48px/1 'Open Sans Light', sans-serif; 109 | } 110 | // Text 111 | p { 112 | margin:0 0 48px; 113 | } 114 | a { 115 | border-bottom:0.1em solid; 116 | color:$color; 117 | } 118 | b, strong { 119 | font-weight:bold; 120 | } 121 | i, em { 122 | font-style:italic; 123 | } 124 | kbd, code, samp { 125 | padding:2px 7px; 126 | background:rgba(#000, 0.1); 127 | @include tab-size(4); 128 | line-height:1; 129 | font-family:'Anka Coder', monospace; 130 | } 131 | // Quote 132 | blockquote { 133 | font-style:italic; 134 | &:before { 135 | position:absolute; 136 | margin:-50px 0 0 -100px; 137 | color:#DDD; 138 | content:'\201C'; 139 | line-height:1; 140 | font-size:200px; 141 | } 142 | & + figcaption { 143 | margin:-48px 0 48px; 144 | font-style:italic; 145 | font-weight:bold; 146 | } 147 | } 148 | // Lists 149 | ol, ul { 150 | margin:0 0 48px; 151 | counter-reset:list; 152 | li { 153 | text-indent:-2em; 154 | &:before { 155 | display:inline-block; 156 | width:2em; 157 | color:#AAA; 158 | text-align:right; 159 | } 160 | } 161 | ol, 162 | ul { 163 | margin:0 0 0 2em; 164 | } 165 | } 166 | ul > li:before { 167 | content:'\2022\00A0\00A0\2009'; 168 | } 169 | ul > li:lang(ru):before { 170 | content:'\2014\00A0\2009'; 171 | } 172 | ol > li:before { 173 | counter-increment:list; 174 | content:counter(list)'.\00A0\2009'; 175 | } 176 | // Code 177 | pre { 178 | margin:0 0 45px; 179 | padding:3px 0 0; 180 | counter-reset:code; 181 | white-space:normal; 182 | code { 183 | display:block; 184 | padding:0; 185 | background:none; 186 | white-space:pre; 187 | line-height:2; 188 | &:before { 189 | position:absolute; 190 | margin-left:-50px; 191 | color:#AAA; 192 | counter-increment:code; 193 | content:counter(code, decimal-leading-zero)'.'; 194 | } 195 | &:only-child:before { 196 | content:''; 197 | } 198 | } 199 | // Mark 200 | mark { 201 | background:none; 202 | color:$color; 203 | font-style:normal; 204 | &.important { 205 | padding:3px 7px 0; 206 | background:$color; 207 | color:#FFF; 208 | } 209 | &.comment { 210 | color:#AAA; 211 | } 212 | } 213 | } 214 | // Table 215 | table { 216 | margin:0 0 50px; 217 | width:100%; 218 | border-collapse:collapse; 219 | border-spacing:0; 220 | th, td { 221 | background:url($dot) 0 100% repeat-x; 222 | } 223 | th { 224 | text-align:left; 225 | font-weight:bold; 226 | } 227 | &.striped { 228 | tr:nth-child(even) { 229 | background:mix($color, #FFF, 8%); 230 | } 231 | } 232 | } 233 | // Cover Shout 234 | &.cover, 235 | &.shout { 236 | z-index:1; 237 | &:after { 238 | content:''; 239 | } 240 | } 241 | // Cover 242 | &.cover { 243 | background:#000; 244 | @mixin cover { 245 | img, svg, video, 246 | object, canvas { 247 | @content; 248 | } 249 | } 250 | @include cover { 251 | position:absolute; 252 | top:0; 253 | left:0; 254 | z-index:-1; 255 | } 256 | &.w { 257 | @include cover { 258 | top:50%; 259 | width:100%; 260 | @include transform(translateY(-50%)); 261 | } 262 | } 263 | &.h { 264 | @include cover { 265 | left:50%; 266 | height:100%; 267 | @include transform(translateX(-50%)); 268 | } 269 | } 270 | &.w.h { 271 | @include cover { 272 | top:0; 273 | left:0; 274 | @include transform(none); 275 | } 276 | } 277 | } 278 | // Shout 279 | &.shout { 280 | background:$color; 281 | h2 { 282 | position:absolute; 283 | top:50%; 284 | left:128px; 285 | right:96px; 286 | color:#FFF; 287 | font-size:100px; 288 | @include transform(translateY(-50%)); 289 | } 290 | } 291 | // Place 292 | .place { 293 | position:absolute; 294 | top:50%; 295 | left:50%; 296 | @include transform(translate(-50%, -50%)); 297 | &.t.l, &.t.r, &.b.r, &.b.l { 298 | @include transform(none); 299 | } 300 | &.t, &.b { 301 | @include transform(translate(-50%, 0)); 302 | } 303 | &.l, &.r { 304 | @include transform(translate(0, -50%)); 305 | } 306 | &.t, &.t.l, &.t.r { 307 | top:0; 308 | } 309 | &.r { 310 | right:0; 311 | left:auto; 312 | } 313 | &.b, &.b.r, &.b.l { 314 | top:auto; 315 | bottom:0; 316 | } 317 | &.l { 318 | left:0; 319 | } 320 | } 321 | // Notes 322 | footer { 323 | position:absolute; 324 | left:0; 325 | right:0; 326 | bottom:-$height; 327 | z-index:1; 328 | display:none; 329 | padding:20px $right 20px $left; 330 | background:#fafac4; 331 | box-shadow:0 0 0 2px rgba(#000, 0.05); 332 | @include transition(bottom 0.3s) 333 | } 334 | &:hover footer { 335 | bottom:0; 336 | } 337 | } 338 | 339 | // Screen 340 | @media screen { 341 | // List 342 | .list { 343 | position:absolute; 344 | clip:rect(0, auto, auto, 0); // Having fun with IE10 345 | padding:50px 0 50px 50px; 346 | background:#E2E2E2 url(../images/mesh.png) 50% 0; 347 | text-align:center; 348 | @include retina { 349 | background-image:url(../images/mesh@2x.png); 350 | background-size:256px; 351 | } 352 | // Outfit 353 | .caption, 354 | .badge { 355 | display:block; 356 | } 357 | // Slide 358 | .slide { 359 | // Gap between slides 360 | $gap:50px; 361 | position:relative; 362 | top:$height/2 - $gap; 363 | display:inline-block; 364 | margin:($gap - $height/2) ($gap - $width/2) 0 0; 365 | text-align:left; 366 | @include transform-origin(0 0); 367 | @include transform(scale(0.5)); 368 | @media (max-width:$break) { 369 | top:$height/2 + $height/4 - $gap; 370 | margin:($gap - ($height/2 + $height/4)) ($gap - ($width/2 + $width/4)) 0 0; 371 | @include transform(scale(0.25)); 372 | } 373 | // Frame 374 | &:before { 375 | position:absolute; 376 | top:0; 377 | left:0; 378 | z-index:-1; 379 | width:$width/2; 380 | height:$height/2; 381 | box-shadow:0 0 0 1px #DDD; 382 | content:''; 383 | @include transform-origin(0 0); 384 | @include transform(scale(2)); 385 | @media (max-width:$break) { 386 | width:$width/4; 387 | height:$height/4; 388 | @include transform(scale(4)); 389 | } 390 | } 391 | // Number 392 | &:after { 393 | top:100%; 394 | bottom:auto; 395 | padding-top:50px; 396 | @media (max-width:$break) { 397 | width:$width/2; 398 | @include transform-origin(0 0); 399 | @include transform(scale(2)); 400 | } 401 | } 402 | // Hover 403 | &:hover:before { 404 | box-shadow: 405 | 0 0 0 1px #EEE, 406 | 0 0 0 12px rgba(#FFF, 0.5); 407 | } 408 | // Current 409 | &:target { 410 | &:before { 411 | box-shadow: 412 | 0 0 10px 0 darken($color, 5%), 413 | 0 0 0 12px $color; 414 | } 415 | &:after { 416 | color:$color; 417 | } 418 | } 419 | // Inner 420 | > div { 421 | &:before { 422 | position:absolute; 423 | top:0; 424 | right:0; 425 | bottom:0; 426 | left:0; 427 | z-index:2; 428 | content:''; 429 | } 430 | } 431 | // Cover Shout 432 | &.cover, 433 | &.shout { 434 | &:after { 435 | content:counter(slide); 436 | } 437 | } 438 | // Notes 439 | footer { 440 | display:block; 441 | } 442 | } 443 | } 444 | // Full 445 | .full { 446 | position:absolute; 447 | top:50%; 448 | left:50%; 449 | overflow:hidden; 450 | margin:(-$height/2) 0 0 (-$width/2); 451 | width:$width; 452 | height:$height; 453 | background:#000; 454 | // Slide 455 | .slide { 456 | position:absolute; 457 | top:0; 458 | left:0; 459 | margin-left:150%; 460 | // Next 461 | .next { 462 | visibility:hidden; 463 | &.active { 464 | visibility:visible; 465 | } 466 | } 467 | // Current 468 | &:target { 469 | margin:0; 470 | } 471 | // Shout 472 | &.shout { 473 | &.right, &.up { 474 | h2 { 475 | opacity:0; 476 | @include transition(all 0.4s ease-out); 477 | } 478 | &:target h2 { 479 | opacity:1; 480 | @include transform(translateX(0) translateY(-50%)); 481 | } 482 | } 483 | &.right h2 { 484 | @include transform(translateX(-100%) translateY(-50%)); 485 | } 486 | &.up h2 { 487 | @include transform(translateX(0) translateY(100%)); 488 | } 489 | } 490 | } 491 | // Progress 492 | .progress { 493 | position:absolute; 494 | right:0; 495 | bottom:0; 496 | left:0; 497 | z-index:1; 498 | div { 499 | position:absolute; 500 | left:0; 501 | bottom:0; 502 | width:0; 503 | height:8px; 504 | background:$color; 505 | @include transition(width 0.2s linear); 506 | } 507 | } 508 | } 509 | } 510 | 511 | // Print 512 | @page { 513 | margin:0; 514 | size:$width $height; 515 | } -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/styles/screen.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:'PT Sans';src:url(../fonts/PTSans.woff) format("woff")}@font-face{font-weight:bold;font-family:'PT Sans';src:url(../fonts/PTSans.Bold.woff) format("woff")}@font-face{font-style:italic;font-family:'PT Sans';src:url(../fonts/PTSans.Italic.woff) format("woff")}@font-face{font-style:italic;font-weight:bold;font-family:'PT Sans';src:url(../fonts/PTSans.Bold.Italic.woff) format("woff")}@font-face{font-family:'PT Sans Narrow';font-weight:bold;src:url(../fonts/PTSans.Narrow.Bold.woff) format("woff")}@font-face{font-family:'PT Mono';src:url(../fonts/PTMono.woff) format("woff")}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}table{border-collapse:collapse;border-spacing:0}body{counter-reset:slide;font:25px/2 'PT Sans', sans-serif}a{text-decoration:none}.caption{display:none;margin:0 0 50px;color:#FFF;text-shadow:0 1px 1px #3C3D40}.caption h1{font:bold 50px/1 'PT Sans Narrow', sans-serif}.caption a{color:#FFF;text-shadow:0 -1px 1px #1F3F60;text-decoration:none}.caption a:hover{color:#5e93c8}.badge{position:absolute;top:0;right:0;display:none;overflow:hidden;visibility:hidden;width:11em;height:11em;line-height:2.5;font-size:15px}.badge a{position:absolute;bottom:50%;right:-50%;left:-50%;visibility:visible;background:#4b86c2;box-shadow:0 0 1em rgba(0,0,0,0.3);color:#FFF;text-decoration:none;text-align:center;-webkit-transform-origin:50% 100%;-moz-transform-origin:50% 100%;-ms-transform-origin:50% 100%;-o-transform-origin:50% 100%;transform-origin:50% 100%;-webkit-transform:rotate(45deg) translateY(-1em);-moz-transform:rotate(45deg) translateY(-1em);-ms-transform:rotate(45deg) translateY(-1em);-o-transform:rotate(45deg) translateY(-1em);transform:rotate(45deg) translateY(-1em)}.badge a:hover{background:#568ec6}.slide{position:relative;width:1024px;height:640px;background:#FFF;color:#000;-webkit-print-color-adjust:exact;-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none}.slide:after{position:absolute;top:0;right:119px;padding:20px 0 0;width:50px;height:80px;background:url(../images/ribbon.svg) no-repeat;color:#FFF;counter-increment:slide;content:counter(slide);text-align:center;font-size:20px}.slide>div{position:absolute;top:0;left:0;overflow:hidden;padding:105px 120px 0;width:784px;height:535px}.debug .slide{background:#fff url(../images/grid-16x10.svg) no-repeat}.slide h2{margin:0 0 37px;color:#666;font:bold 50px/1 'PT Sans Narrow', sans-serif}.slide p{margin:0 0 50px}.slide p.note{color:#999}.slide a{border-bottom:0.1em solid;color:#4b86c2}.slide b,.slide strong{font-weight:bold}.slide i,.slide em{font-style:italic}.slide kbd,.slide code,.slide samp{padding:3px 8px;border-radius:8px;background:#fafaa2;color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1;font-family:'PT Mono', monospace}.slide blockquote{font-style:italic}.slide blockquote:before{position:absolute;margin:-16px 0 0 -80px;color:#CCC;font:200px/1 'PT Sans', sans-serif;content:'\201C'}.slide blockquote+figcaption{margin:-50px 0 50px;font-style:italic;font-weight:bold}.slide ol,.slide ul{margin:0 0 0px;counter-reset:list}.slide ol li,.slide ul li{text-indent:-2em}.slide ol li:before,.slide ul li:before{display:inline-block;width:2em;color:#BBB;text-align:right}.slide ol ol,.slide ol ul,.slide ul ol,.slide ul ul{margin:0 0 0 2em}.slide ul>li:before{content:'\2022\00A0\00A0'}.slide ul>li:lang(ru):before{content:'\2014\00A0\00A0'}.slide ol>li:before{counter-increment:list;content:counter(list) ".\00A0"}.slide pre{margin:0 0 10px;padding:1px 0 0;counter-reset:code;white-space:normal}.slide pre code{display:block;padding:0;background:none;white-space:pre;line-height:40px}.slide pre code:before{position:absolute;margin:0 0 0 -110px;width:100px;color:#BBB;text-align:right;counter-increment:code;content:counter(code,decimal-leading-zero) "."}.slide pre code:only-child:before{content:''}.slide pre mark{padding:3px 8px;border-radius:8px;background:#F7FCA0;color:#000;font-style:normal}.slide pre mark.important{background:#C00;color:#FFF;font-weight:normal}.slide pre mark.comment{padding:0;background:none;color:#999}.slide table{margin:0 0 50px;width:100%;border-collapse:collapse;border-spacing:0}.slide table th,.slide table td{background:url("data:image/gif;base64,R0lGODdhAQABAPAAAJmZmQAAACH/C1hNUCBEYXRhWE1QAj94ACwAAAAAAQABAAACAkQBADs=") 0 100% repeat-x}.slide table th{text-align:left;font-weight:bold}.slide table.striped tr:nth-child(even){background:#EEE}.slide.cover,.slide.shout{z-index:1}.slide.cover:after,.slide.shout:after{visibility:hidden}.slide.cover{background:#000}.slide.cover img,.slide.cover svg,.slide.cover video,.slide.cover object,.slide.cover canvas{position:absolute;top:0;left:0;z-index:-1}.slide.cover.w img,.slide.cover.w svg,.slide.cover.w video,.slide.cover.w object,.slide.cover.w canvas{top:50%;width:100%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.slide.cover.h img,.slide.cover.h svg,.slide.cover.h video,.slide.cover.h object,.slide.cover.h canvas{left:50%;height:100%;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%)}.slide.cover.w.h img,.slide.cover.w.h svg,.slide.cover.w.h video,.slide.cover.w.h object,.slide.cover.w.h canvas{top:0;left:0;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.slide.shout{background-image:none}.slide.shout h2{position:absolute;top:50%;left:0;width:100%;text-align:center;line-height:1;font-size:150px;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.slide .place{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%, -50%);-moz-transform:translate(-50%, -50%);-ms-transform:translate(-50%, -50%);-o-transform:translate(-50%, -50%);transform:translate(-50%, -50%)}.slide .place.t.l,.slide .place.t.r,.slide .place.b.r,.slide .place.b.l{-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.slide .place.t,.slide .place.b{-webkit-transform:translate(-50%, 0);-moz-transform:translate(-50%, 0);-ms-transform:translate(-50%, 0);-o-transform:translate(-50%, 0);transform:translate(-50%, 0)}.slide .place.l,.slide .place.r{-webkit-transform:translate(0, -50%);-moz-transform:translate(0, -50%);-ms-transform:translate(0, -50%);-o-transform:translate(0, -50%);transform:translate(0, -50%)}.slide .place.t,.slide .place.t.l,.slide .place.t.r{top:0}.slide .place.r{right:0;left:auto}.slide .place.b,.slide .place.b.r,.slide .place.b.l{top:auto;bottom:0}.slide .place.l{left:0}.slide footer{position:absolute;left:0;right:0;bottom:-640px;z-index:1;display:none;padding:20px 120px;background:#fafaa2;box-shadow:0 0 0 2px #f0f0ac inset;-webkit-transition:bottom 0.3s;-moz-transition:bottom 0.3s;-o-transition:bottom 0.3s;transition:bottom 0.3s}.slide:hover footer{bottom:0}@media screen{.list{position:absolute;clip:rect(0, auto, auto, 0);padding:80px 0 40px 100px;background:#585a5e url(../images/linen.png)}.list .caption,.list .badge{display:block}.list .slide{float:left;margin:0 -412px -220px 0;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(0.5);-moz-transform:scale(0.5);-ms-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5)}.list .slide:before{position:absolute;top:0;left:0;z-index:-1;width:512px;height:320px;box-shadow:0 0 30px rgba(0,0,0,0.005),0 20px 50px rgba(42,43,45,0.6);border-radius:2px;content:'';-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(2);-moz-transform:scale(2);-ms-transform:scale(2);-o-transform:scale(2);transform:scale(2)}.list .slide:after{top:auto;right:auto;bottom:-80px;left:120px;padding:0;width:auto;height:auto;background:none;color:#3C3D40;text-shadow:0 1px 1px #8D8E90;font-weight:bold;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-transform:scale(2);-moz-transform:scale(2);-ms-transform:scale(2);-o-transform:scale(2);transform:scale(2)}.list .slide:hover:before{box-shadow:0 0 0 10px rgba(42,43,45,0.3),0 20px 50px rgba(42,43,45,0.6)}.list .slide:target:before{box-shadow:0 0 0 1px #376da3,0 0 0 10px #4b86c2,0 20px 50px rgba(42,43,45,0.6)}.list .slide:target:after{text-shadow:0 1px 1px rgba(42,43,45,0.6);color:#4b86c2}.list .slide>div:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;content:''}.list .slide.cover:after,.list .slide.shout:after{visibility:visible}.list .slide footer{display:block}.full{position:absolute;top:50%;left:50%;overflow:hidden;margin:-320px 0 0 -512px;width:1024px;height:640px;background:#000}.full .slide{position:absolute;top:0;left:0;margin-left:150%}.full .slide .next{visibility:hidden}.full .slide .next.active{visibility:visible}.full .slide:target{margin:0}.full .slide.shout.grow h2,.full .slide.shout.shrink h2{opacity:0;-webkit-transition:all 0.4s ease-out;-moz-transition:all 0.4s ease-out;-o-transition:all 0.4s ease-out;transition:all 0.4s ease-out}.full .slide.shout.grow:target h2,.full .slide.shout.shrink:target h2{opacity:1;-webkit-transform:scale(1) translateY(-50%);-moz-transform:scale(1) translateY(-50%);-ms-transform:scale(1) translateY(-50%);-o-transform:scale(1) translateY(-50%);transform:scale(1) translateY(-50%)}.full .slide.shout.grow h2{-webkit-transform:scale(0.1) translateY(-50%);-moz-transform:scale(0.1) translateY(-50%);-ms-transform:scale(0.1) translateY(-50%);-o-transform:scale(0.1) translateY(-50%);transform:scale(0.1) translateY(-50%)}.full .slide.shout.shrink h2{-webkit-transform:scale(10) translateY(-50%);-moz-transform:scale(10) translateY(-50%);-ms-transform:scale(10) translateY(-50%);-o-transform:scale(10) translateY(-50%);transform:scale(10) translateY(-50%)}.full .progress{position:absolute;right:0;bottom:0;left:-10px;z-index:1}.full .progress div{padding-left:10px;width:0;height:10px;background:url(../images/progress.svg) 100% 0 no-repeat;background-clip:content-box;-webkit-transition:width 0.2s linear;-moz-transition:width 0.2s linear;-o-transition:width 0.2s linear;transition:width 0.2s linear}}@media screen and (-webkit-min-device-pixel-ratio: 2), screen and (min-resolution: 192dpi){.list{background-image:url(../images/linen@2x.png);background-size:256px}}@media screen and (max-width: 1324px){.list .slide{margin:0 -688px -400px 0;-webkit-transform:scale(0.25);-moz-transform:scale(0.25);-ms-transform:scale(0.25);-o-transform:scale(0.25);transform:scale(0.25)}}@media screen and (max-width: 1324px){.list .slide:before{width:256px;height:160px;-webkit-transform:scale(4);-moz-transform:scale(4);-ms-transform:scale(4);-o-transform:scale(4);transform:scale(4)}}@media screen and (max-width: 1324px){.list .slide:after{bottom:-104px;-webkit-transform:scale(4);-moz-transform:scale(4);-ms-transform:scale(4);-o-transform:scale(4);transform:scale(4)}}@media screen and (max-width: 1324px){.list .slide:target:before{box-shadow:0 0 0 1px #376da3,0 0 0 10px #4b86c2,0 20px 50px rgba(42,43,45,0.6)}}@page{margin:0;size:1024px 640px} 2 | -------------------------------------------------------------------------------- /presentation/shower/themes/ribbon/styles/screen.scss: -------------------------------------------------------------------------------- 1 | // Ribbon theme for Shower HTML presentation engine: github.com/shower/shower 2 | // Copyright © 2010–2013 Vadim Makeev, pepelsbey.net 3 | // Licensed under MIT license: github.com/shower/shower/wiki/MIT-License 4 | 5 | @import 'defaults'; 6 | @import 'fonts'; 7 | @import 'reset'; 8 | 9 | body { 10 | counter-reset:slide; 11 | font:25px/2 'PT Sans', sans-serif; 12 | } 13 | a { 14 | text-decoration:none; 15 | } 16 | 17 | // Caption 18 | // ------------------------------- 19 | .caption { 20 | display:none; 21 | margin:0 0 50px; 22 | color:#3C3D40; 23 | text-shadow:0 1px 1px #8D8E90; 24 | h1 { 25 | font:bold 50px/1 'PT Sans Narrow', sans-serif; 26 | } 27 | a { 28 | color:$blue; 29 | text-shadow:0 -1px 1px #1F3F60; 30 | text-decoration:none; 31 | &:hover { 32 | color:lighten($blue, 5%); 33 | } 34 | } 35 | } 36 | 37 | // Badge 38 | // ------------------------------- 39 | .badge { 40 | position:absolute; 41 | top:0; 42 | right:0; 43 | display:none; 44 | overflow:hidden; 45 | visibility:hidden; 46 | width:11em; 47 | height:11em; 48 | line-height:2.5; 49 | font-size:15px; 50 | } 51 | .badge a { 52 | position:absolute; 53 | bottom:50%; 54 | right:-50%; 55 | left:-50%; 56 | visibility:visible; 57 | background:$blue; 58 | box-shadow:0 0 1em rgba(#000, 0.3); 59 | color:#FFF; 60 | text-decoration:none; 61 | text-align:center; 62 | @include transform-origin(50% 100%); 63 | @include transform(rotate(45deg) translateY(-1em)); 64 | &:hover { 65 | background:lighten($blue, 3%); 66 | } 67 | } 68 | 69 | // Slide 70 | // ------------------------------- 71 | .slide { 72 | position:relative; 73 | width:$width; 74 | height:$height; 75 | background:#FFF; 76 | color:#000; 77 | -webkit-print-color-adjust:exact; 78 | -webkit-text-size-adjust:none; 79 | -moz-text-size-adjust:none; 80 | -ms-text-size-adjust:none; 81 | // Number 82 | &:after { 83 | position:absolute; 84 | top:0; 85 | right:119px; 86 | padding:20px 0 0; 87 | width:50px; 88 | height:80px; 89 | background:url(../images/ribbon.svg) no-repeat; 90 | color:#FFF; 91 | counter-increment:slide; 92 | content:counter(slide); 93 | text-align:center; 94 | font-size:20px; 95 | } 96 | // Inner 97 | > div { 98 | position:absolute; 99 | top:0; 100 | left:0; 101 | overflow:hidden; 102 | padding:$top $sides 0; 103 | width:$width - $sides * 2; 104 | height:$height - $top; 105 | } 106 | // Debug 107 | .debug & { 108 | background:#FFF url(../images/grid-#{$ratio}.svg) no-repeat; 109 | } 110 | } 111 | 112 | // Elements 113 | // ------------------------------- 114 | .slide { 115 | // Header 116 | h2 { 117 | margin:0 0 37px; 118 | color:#666; 119 | font:bold 50px/1 'PT Sans Narrow', sans-serif; 120 | } 121 | // Text 122 | p { 123 | margin:0 0 50px; 124 | } 125 | p.note { 126 | color:#999; 127 | } 128 | a { 129 | border-bottom:0.1em solid; 130 | color:$blue; 131 | } 132 | b, strong { 133 | font-weight:bold; 134 | } 135 | i, em { 136 | font-style:italic; 137 | } 138 | kbd, code, samp { 139 | padding:3px 8px; 140 | border-radius:8px; 141 | background:$yellow; 142 | color:#000; 143 | @include tab-size(4); 144 | line-height:1; 145 | font-family:'PT Mono', monospace; 146 | } 147 | // Quote 148 | blockquote { 149 | font-style:italic; 150 | &:before { 151 | position:absolute; 152 | margin:-16px 0 0 -80px; 153 | color:#CCC; 154 | font:200px/1 'PT Sans', sans-serif; 155 | content:'\201C'; 156 | } 157 | & + figcaption { 158 | margin:-50px 0 50px; 159 | font-style:italic; 160 | font-weight:bold; 161 | } 162 | } 163 | // Lists 164 | ol, ul { 165 | margin:0 0 50px; 166 | counter-reset:list; 167 | li { 168 | text-indent:-2em; 169 | &:before { 170 | display:inline-block; 171 | width:2em; 172 | color:#BBB; 173 | text-align:right; 174 | } 175 | } 176 | ol, 177 | ul { 178 | margin:0 0 0 2em; 179 | } 180 | } 181 | ul > li:before { 182 | content:'\2022\00A0\00A0'; 183 | } 184 | ul > li:lang(ru):before { 185 | content:'\2014\00A0\00A0'; 186 | } 187 | ol > li:before { 188 | counter-increment:list; 189 | content:counter(list)'.\00A0'; 190 | } 191 | // Code 192 | pre { 193 | margin:0 0 49px; 194 | padding:1px 0 0; 195 | counter-reset:code; 196 | white-space:normal; 197 | code { 198 | display:block; 199 | padding:0; 200 | background:none; 201 | white-space:pre; 202 | line-height:50px; 203 | &:before { 204 | position:absolute; 205 | margin:0 0 0 -110px; 206 | width:100px; 207 | color:#BBB; 208 | text-align:right; 209 | counter-increment:code; 210 | content:counter(code, decimal-leading-zero)'.'; 211 | } 212 | &:only-child:before { 213 | content:''; 214 | } 215 | } 216 | mark { 217 | padding:3px 8px; 218 | border-radius:8px; 219 | background:#F7FCA0; 220 | color:#000; 221 | font-style:normal; 222 | &.important { 223 | background:#C00; 224 | color:#FFF; 225 | font-weight:normal; 226 | } 227 | &.comment { 228 | padding:0; 229 | background:none; 230 | color:#999; 231 | } 232 | } 233 | } 234 | // Table 235 | table { 236 | margin:0 0 50px; 237 | width:100%; 238 | border-collapse:collapse; 239 | border-spacing:0; 240 | th, td { 241 | background:url($dot) 0 100% repeat-x; 242 | } 243 | th { 244 | text-align:left; 245 | font-weight:bold; 246 | } 247 | &.striped { 248 | tr:nth-child(even) { 249 | background:#EEE; 250 | } 251 | } 252 | } 253 | // Cover Shout 254 | &.cover, 255 | &.shout { 256 | z-index:1; 257 | &:after { 258 | visibility:hidden; 259 | } 260 | } 261 | // Cover 262 | &.cover { 263 | background:#000; 264 | @mixin cover { 265 | img, svg, video, 266 | object, canvas { 267 | @content; 268 | } 269 | } 270 | @include cover { 271 | position:absolute; 272 | top:0; 273 | left:0; 274 | z-index:-1; 275 | } 276 | &.w { 277 | @include cover { 278 | top:50%; 279 | width:100%; 280 | @include transform(translateY(-50%)); 281 | } 282 | } 283 | &.h { 284 | @include cover { 285 | left:50%; 286 | height:100%; 287 | @include transform(translateX(-50%)); 288 | } 289 | } 290 | &.w.h { 291 | @include cover { 292 | top:0; 293 | left:0; 294 | @include transform(none); 295 | } 296 | } 297 | } 298 | // Shout 299 | &.shout { 300 | background-image:none; 301 | h2 { 302 | position:absolute; 303 | top:50%; 304 | left:0; 305 | width:100%; 306 | text-align:center; 307 | line-height:1; 308 | font-size:150px; 309 | @include transform(translateY(-50%)); 310 | } 311 | } 312 | // Place 313 | .place { 314 | position:absolute; 315 | top:50%; 316 | left:50%; 317 | @include transform(translate(-50%, -50%)); 318 | &.t.l, &.t.r, &.b.r, &.b.l { 319 | @include transform(none); 320 | } 321 | &.t, &.b { 322 | @include transform(translate(-50%, 0)); 323 | } 324 | &.l, &.r { 325 | @include transform(translate(0, -50%)); 326 | } 327 | &.t, &.t.l, &.t.r { 328 | top:0; 329 | } 330 | &.r { 331 | right:0; 332 | left:auto; 333 | } 334 | &.b, &.b.r, &.b.l { 335 | top:auto; 336 | bottom:0; 337 | } 338 | &.l { 339 | left:0; 340 | } 341 | } 342 | // Notes 343 | footer { 344 | position:absolute; 345 | left:0; 346 | right:0; 347 | bottom:-$height; 348 | z-index:1; 349 | display:none; 350 | padding:20px 120px; 351 | background:$yellow; 352 | box-shadow:0 0 0 2px desaturate($yellow, 20%) inset; 353 | @include transition(bottom 0.3s) 354 | } 355 | &:hover footer { 356 | bottom:0; 357 | } 358 | } 359 | 360 | // Screen 361 | @media screen { 362 | // List 363 | .list { 364 | position:absolute; 365 | clip:rect(0, auto, auto, 0); // Having fun with IE10 366 | padding:80px 0 40px 100px; 367 | background:#585A5E url(../images/linen.png); 368 | @include retina { 369 | background-image:url(../images/linen@2x.png); 370 | background-size:256px; 371 | } 372 | // Outfit 373 | .caption, 374 | .badge { 375 | display:block; 376 | } 377 | // Slide 378 | .slide { 379 | float:left; 380 | margin:0 (100-$width/2) (100-$height/2) 0; 381 | @include transform-origin(0 0); 382 | @include transform(scale(0.5)); 383 | @media (max-width:$break) { 384 | margin:0 (80-($width/2+$width/4)) (80-($height/2+$height/4)) 0; 385 | @include transform(scale(0.25)); 386 | } 387 | // Shadow 388 | &:before { 389 | position:absolute; 390 | top:0; 391 | left:0; 392 | z-index:-1; 393 | width:$width/2; 394 | height:$height/2; 395 | box-shadow: 396 | 0 0 30px rgba(#000, 0.005), 397 | 0 20px 50px rgba($grey, 0.6); 398 | border-radius:2px; 399 | content:''; 400 | @include transform-origin(0 0); 401 | @include transform(scale(2)); 402 | @media (max-width:$break) { 403 | width:$width/4; 404 | height:$height/4; 405 | @include transform(scale(4)); 406 | } 407 | } 408 | // Number 409 | &:after { 410 | top:auto; 411 | right:auto; 412 | bottom:-80px; 413 | left:120px; 414 | padding:0; 415 | width:auto; 416 | height:auto; 417 | background:none; 418 | color:#3C3D40; 419 | text-shadow:0 1px 1px #8D8E90; 420 | font-weight:bold; 421 | @include transform-origin(0 0); 422 | @include transform(scale(2)); 423 | @media (max-width:$break) { 424 | bottom:-104px; 425 | @include transform(scale(4)); 426 | } 427 | } 428 | // Hover 429 | &:hover:before { 430 | box-shadow: 431 | 0 0 0 10px rgba($grey, 0.3), 432 | 0 20px 50px rgba($grey, 0.6); 433 | } 434 | // Current 435 | &:target { 436 | &:before { 437 | box-shadow: 438 | 0 0 0 1px darken($blue, 10%), 439 | 0 0 0 10px $blue, 440 | 0 20px 50px rgba($grey, 0.6); 441 | @media (max-width:$break) { 442 | box-shadow: 443 | 0 0 0 1px darken($blue, 10%), 444 | 0 0 0 10px $blue, 445 | 0 20px 50px rgba($grey, 0.6); 446 | } 447 | } 448 | &:after { 449 | text-shadow:0 1px 1px rgba($grey, 0.6); 450 | color:$blue; 451 | } 452 | } 453 | // Inner 454 | > div { 455 | &:before { 456 | position:absolute; 457 | top:0; 458 | right:0; 459 | bottom:0; 460 | left:0; 461 | z-index:2; 462 | content:''; 463 | } 464 | } 465 | // Cover Shout 466 | &.cover, 467 | &.shout { 468 | &:after { 469 | visibility:visible; 470 | } 471 | } 472 | // Notes 473 | footer { 474 | display:block; 475 | } 476 | } 477 | } 478 | // Full 479 | .full { 480 | position:absolute; 481 | top:50%; 482 | left:50%; 483 | overflow:hidden; 484 | margin:(-$height/2) 0 0 (-$width/2); 485 | width:$width; 486 | height:$height; 487 | background:#000; 488 | // Slide 489 | .slide { 490 | position:absolute; 491 | top:0; 492 | left:0; 493 | margin-left:150%; 494 | // Next 495 | .next { 496 | visibility:hidden; 497 | &.active { 498 | visibility:visible; 499 | } 500 | } 501 | // Current 502 | &:target { 503 | margin:0; 504 | } 505 | // Shout 506 | &.shout { 507 | &.grow, &.shrink { 508 | h2 { 509 | opacity:0; 510 | @include transition(all 0.4s ease-out); 511 | } 512 | &:target h2 { 513 | opacity:1; 514 | @include transform(scale(1) translateY(-50%)); 515 | } 516 | } 517 | &.grow h2 { 518 | @include transform(scale(0.1) translateY(-50%)); 519 | } 520 | &.shrink h2 { 521 | @include transform(scale(10) translateY(-50%)); 522 | } 523 | } 524 | } 525 | // Progress 526 | .progress { 527 | position:absolute; 528 | right:0; 529 | bottom:0; 530 | left:-10px; 531 | z-index:1; 532 | div { 533 | padding-left:10px; 534 | width:0; 535 | height:10px; 536 | background:url(../images/progress.svg) 100% 0 no-repeat; 537 | background-clip:content-box; 538 | @include transition(width 0.2s linear); 539 | } 540 | } 541 | } 542 | } 543 | 544 | // Print 545 | @page { 546 | margin:0; 547 | size:$width $height; 548 | } 549 | -------------------------------------------------------------------------------- /presentation/annex.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Data Ownership and Interoperability for a Decentralized Social Semantic Web 5 | 6 | 7 | 8 | 9 | 68 | 69 | 70 |
71 |

Data Ownership and Interoperability for a Decentralized Social Semantic Web

72 |

by Andrei Vlad SAMBRA

73 |
74 |
75 | Ecole Mines Telecom 76 | UPMC 77 |

Annex

78 |
79 | 80 |
81 | Ecole Mines Telecom 82 | UPMC 83 | 84 |

WebID profile - HTTP 303 Redirect

85 |
303
86 |
87 |
88 | 89 | Ecole Mines Telecom 90 | UPMC 91 | 92 |

WebID Profile - Turtle example

93 | Document URI: https://barry.example/profile 94 |
95 |
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
 96 | <> a foaf:PersonalProfileDocument ;
 97 |     foaf:maker <#me> ;
 98 |     foaf:primaryTopic <#me> .
 99 | <#me> a foaf:Person ;
100 |     foaf:name "Barry Examplethorn" ;
101 |     foaf:knows <https://example.edu/p/Ann#MSc> ;
102 |     foaf:img <https://barry.example/picture.jpg> .
103 |
104 |
105 | 111 | Ecole Mines Telecom 112 | UPMC 113 | 114 |

WebID Profile - Privacy

115 | Document URI: https://barry.example/profile 116 |
117 |
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
118 | @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
119 | <> a foaf:PersonalProfileDocument ;
120 |     foaf:maker <#me> ;
121 |     foaf:primaryTopic <#me> .
122 | <#me> a foaf:Person ;
123 |     foaf:name "Bob" ;
124 |     rdfs:seeAlso <https://barry.example/friends> .
125 |
126 |
127 | 132 | Ecole Mines Telecom 133 | UPMC 134 | 135 |

WebID Profile - Privacy

136 | Document URI: https://barry.example/friends 137 |
138 |
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
139 | <> a foaf:PersonalProfileDocument ;
140 |     foaf:maker <https://barry.example/profile#me> ;
141 |     foaf:primaryTopic <https://barry.example/profile#me> .
142 | <https://barry.example/profile#me> a foaf:Person ;
143 |     foaf:knows <https://example.edu/p/Ann#MSc> ;
144 |     foaf:knows <https://company.com/people/Sue#i> .
145 |
146 |
147 | 152 | Ecole Mines Telecom 153 | UPMC 154 | 155 |

WebID profile containing certificate data

156 | Document URI: https://barry.example/profile 157 |
158 |
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
159 | @prefix cert: <http://www.w3.org/ns/auth/cert#> .
160 | <#me> a foaf:Person ;
161 |     foaf:name "Barry";
162 |     cert:key [ a cert:RSAPublicKey;
163 |                cert:modulus "cb28...91a1"^^xsd:hexBinary;
164 |                cert:exponent 65537 ;
165 |              ] .
166 |
167 |
168 | Ecole Mines Telecom 169 | UPMC 170 | 171 |

WebID-TLS authentication - SPARQL ASK

172 |
173 |
PREFIX cert: <http://www.w3.org/ns/auth/cert#>
174 | PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
175 | ASK {
176 |     <https://barry.example/profile#me> cert:key [
177 |         cert:modulus "cb28...91a1"^^xsd:hexBinary;
178 |         cert:exponent 65537;
179 |         ] .
180 | }
181 |
182 |
183 | 187 | Ecole Mines Telecom 188 | UPMC 189 | 190 |

WebID-TLS - access delegation

191 | Document URI: https://barry.example/profile 192 |
193 |
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
194 | @prefix cert: <http://www.w3.org/ns/auth/cert#> .
195 | 
196 | <#me> a foaf:Person ;
197 |       foaf:name "Barry" ;
198 |       cert:secretary <https://example.com/secretary/card#me> .
199 |
200 |
201 | 204 | Ecole Mines Telecom 205 | UPMC 206 | 207 |

WebID-TLS - access delegation (cont.)

208 | The secretary requests access to https://example.com/private/ 209 |
210 |
GET /private/ HTTP/1.1
211 | Host: example.edu
212 | Accept: text/turtle
213 | On-Behalf-Of: https://barry.example/profile#me
214 |
215 |
216 | 219 | Ecole Mines Telecom 220 | UPMC 221 | 222 |

Context graph example

223 | Document URI: https://barry.example/policies/contexts/friends 224 |
225 |
@prefix ctxt: <http://ns.rww.io/context#> .
226 | <> a ctxt:Context ;
227 |       ctxt:name "Friends" ;
228 |       ctxt:resources <#profile>, <#wall>, <#posts> .
229 | <#profile> a foaf:Person ;
230 |       foaf:phone "+1 222 333 444" ;
231 |       foaf:mbox <mailto:barry@mail.com> .
232 |
233 |
234 | 235 | Ecole Mines Telecom 236 | UPMC 237 | 238 |

Relationship Monitor algorithm

239 | RM Algorithm 240 | 247 |
248 |
249 | 250 | Ecole Mines Telecom 251 | UPMC 252 | 253 |

Context matching algorithm (profile)

254 | HTTP/1.1 GET for: https://barry.example.org/profile 255 | Algorithm 256 | 263 |
264 | 265 | 266 |

Fork me on Github

267 | 271 |
272 | 273 | 274 | 275 | -------------------------------------------------------------------------------- /thesis/svg/context_tags.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 27 | 32 | 33 | 40 | 47 | 54 | 59 | 60 | 67 | 74 | 79 | 80 | 87 | 94 | 99 | 100 | 107 | 114 | 121 | 128 | 133 | 134 | 141 | 148 | 153 | 154 | 161 | 168 | 174 | 175 | 182 | 188 | 189 | 196 | 202 | 203 | 204 | 226 | 228 | 229 | 231 | image/svg+xml 232 | 234 | 235 | 236 | 237 | 238 | 243 | context 255 | context 267 | context 279 | https://barry.example/policies/contexts 295 | <https://barry.example/policies/contexts/friends> 307 | <https://barry.example/policies/contexts/work> 319 | <https://barry.example/policies/contexts/beachparty> 331 | 336 | 341 | 346 | 347 | 348 | -------------------------------------------------------------------------------- /thesis/svg/webid-conneg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 21 | 23 | 30 | 36 | 37 | 44 | 50 | 51 | 58 | 64 | 65 | 66 | 88 | 90 | 91 | 93 | image/svg+xml 94 | 96 | 97 | 98 | 99 | 100 | 105 | 116 | https://example.com/id/barry 128 | 133 | 144 | https://example.com/doc/barry 156 | contentnegotiation 173 | 175 | 185 | Thing 197 | 198 | HTTP 303 210 | 213 | 216 | 226 | RDF 238 | 239 | 240 | 243 | 253 | HTML 265 | 266 | Content-Type:text/turtle 283 | Content-Type:text/html 300 | 311 | Content-Location:/doc/barry.ttl 328 | 330 | 332 | Document 344 | 354 | 355 | 360 | 365 | 366 | 377 | Content-Location:/doc/barry.html 394 | 395 | 396 | -------------------------------------------------------------------------------- /thesis/svg/context_users.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 27 | 33 | 34 | 41 | 48 | 55 | 61 | 62 | 69 | 76 | 82 | 83 | 90 | 97 | 103 | 104 | 111 | 118 | 125 | 132 | 138 | 139 | 146 | 153 | 159 | 160 | 167 | 173 | 174 | 181 | 187 | 188 | 195 | 201 | 202 | 203 | 227 | 229 | 230 | 232 | image/svg+xml 233 | 235 | 236 | 237 | 238 | 239 | 244 | 247 | https://barry.example/policies/users 258 | https://john.name/profile#me 269 | hasContext 280 | https://barry.example/policies/tags/friends 291 | https://uni.edu/users/p/profile#me 302 | hasContext 313 | https://barry.example/policies/tags/NewYearParty 324 | https://john.name/profile#me 335 | hasContext 346 | https://barry.example/policies/tags/work 357 | https://example.edu/p/Ann#MSc 368 | hasContext 379 | https://barry.example/policies/tags/friends 390 | 395 | 400 | 405 | 410 | 411 | 412 | 413 | -------------------------------------------------------------------------------- /thesis/svg/web-evo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 24 | 31 | 37 | 38 | 40 | 44 | 48 | 49 | 52 | 56 | 60 | 61 | 63 | 67 | 71 | 75 | 79 | 83 | 87 | 88 | 91 | 95 | 99 | 100 | 109 | 112 | 116 | 120 | 121 | 131 | 141 | 151 | 155 | 160 | 166 | 170 | 175 | 181 | 182 | 183 | 205 | 207 | 208 | 210 | image/svg+xml 211 | 213 | 214 | 215 | 216 | 217 | 222 | 233 | 241 | 249 | 258 | 266 | Web of information 282 | Social Web 298 | Web of data 314 | Text, graphics,flash 334 | Blogs, video sharing,social networks, wikis 354 | Linked Data, semantic databases,semantic search 379 | Interoperability( APIs ) 399 | 1995 414 | 2000 429 | 2005 444 | 2010 459 | 460 | 461 | --------------------------------------------------------------------------------