├── .gitignore ├── lectures ├── js │ ├── revealjs │ │ ├── test │ │ │ ├── assets │ │ │ │ ├── external-script-a.js │ │ │ │ ├── external-script-b.js │ │ │ │ ├── external-script-c.js │ │ │ │ └── external-script-d.js │ │ │ ├── simple.md │ │ │ ├── test-dependencies.html │ │ │ ├── test-grid-navigation.html │ │ │ ├── test-dependencies-async.html │ │ │ ├── test-pdf.html │ │ │ ├── test-multiple-instances-es5.html │ │ │ ├── test-multiple-instances.html │ │ │ ├── test-plugins.html │ │ │ ├── test-iframe-backgrounds.html │ │ │ ├── test-iframes.html │ │ │ └── test-state.html │ │ ├── .npmignore │ │ ├── examples │ │ │ ├── assets │ │ │ │ ├── beeping.txt │ │ │ │ ├── image1.png │ │ │ │ ├── image2.png │ │ │ │ └── beeping.wav │ │ │ ├── markdown.md │ │ │ ├── barebones.html │ │ │ ├── media.html │ │ │ ├── slide-transitions.html │ │ │ ├── multiple-presentations.html │ │ │ └── layout-helpers.html │ │ ├── dist │ │ │ ├── theme │ │ │ │ └── fonts │ │ │ │ │ ├── league-gothic │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── league-gothic.eot │ │ │ │ │ ├── league-gothic.ttf │ │ │ │ │ ├── league-gothic.woff │ │ │ │ │ └── league-gothic.css │ │ │ │ │ └── source-sans-pro │ │ │ │ │ ├── source-sans-pro-italic.eot │ │ │ │ │ ├── source-sans-pro-italic.ttf │ │ │ │ │ ├── source-sans-pro-italic.woff │ │ │ │ │ ├── source-sans-pro-regular.eot │ │ │ │ │ ├── source-sans-pro-regular.ttf │ │ │ │ │ ├── source-sans-pro-regular.woff │ │ │ │ │ ├── source-sans-pro-semibold.eot │ │ │ │ │ ├── source-sans-pro-semibold.ttf │ │ │ │ │ ├── source-sans-pro-semibold.woff │ │ │ │ │ ├── source-sans-pro-semibolditalic.eot │ │ │ │ │ ├── source-sans-pro-semibolditalic.ttf │ │ │ │ │ ├── source-sans-pro-semibolditalic.woff │ │ │ │ │ └── source-sans-pro.css │ │ │ └── reset.css │ │ ├── js │ │ │ ├── utils │ │ │ │ ├── constants.js │ │ │ │ ├── device.js │ │ │ │ ├── loader.js │ │ │ │ └── color.js │ │ │ ├── index.js │ │ │ └── controllers │ │ │ │ ├── focus.js │ │ │ │ ├── progress.js │ │ │ │ ├── notes.js │ │ │ │ ├── pointer.js │ │ │ │ └── slidenumber.js │ │ ├── css │ │ │ ├── theme │ │ │ │ ├── source │ │ │ │ │ ├── night.scss │ │ │ │ │ ├── serif.scss │ │ │ │ │ ├── league.scss │ │ │ │ │ ├── sky.scss │ │ │ │ │ ├── beige.scss │ │ │ │ │ ├── black.scss │ │ │ │ │ ├── white.scss │ │ │ │ │ ├── simple.scss │ │ │ │ │ ├── moon.scss │ │ │ │ │ ├── solarized.scss │ │ │ │ │ └── blood.scss │ │ │ │ ├── template │ │ │ │ │ ├── exposer.scss │ │ │ │ │ ├── settings.scss │ │ │ │ │ └── mixins.scss │ │ │ │ └── README.md │ │ │ ├── layout.scss │ │ │ └── print │ │ │ │ ├── pdf.scss │ │ │ │ └── paper.scss │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── plugin │ │ │ ├── highlight │ │ │ │ ├── monokai.css │ │ │ │ └── zenburn.css │ │ │ ├── math │ │ │ │ ├── math.esm.js │ │ │ │ ├── math.js │ │ │ │ └── plugin.js │ │ │ ├── search │ │ │ │ ├── search.esm.js │ │ │ │ └── search.js │ │ │ └── zoom │ │ │ │ ├── zoom.esm.js │ │ │ │ └── zoom.js │ │ ├── index.html │ │ ├── README.md │ │ └── package.json │ └── less │ │ └── package.json ├── Makefile ├── assets │ ├── favicon.png │ ├── background.jpg │ ├── university-of-liverpool-black.png │ └── university-of-liverpool-white.png ├── images │ ├── Autograv_CG5_P1150838.JPG │ ├── DetalleNivelDeBurbuja.jpg │ ├── A10_absolute_gravity_meter.jpg │ └── heights.svg ├── css │ └── fontawesome │ │ ├── webfonts │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.ttf │ │ ├── fa-brands-400.eot │ │ ├── fa-brands-400.ttf │ │ ├── fa-brands-400.woff │ │ ├── fa-regular-400.eot │ │ ├── fa-regular-400.ttf │ │ ├── fa-solid-900.woff │ │ ├── fa-solid-900.woff2 │ │ ├── fa-brands-400.woff2 │ │ ├── fa-regular-400.woff │ │ └── fa-regular-400.woff2 │ │ ├── css │ │ ├── brands.min.css │ │ ├── solid.min.css │ │ ├── regular.min.css │ │ ├── brands.css │ │ ├── solid.css │ │ ├── regular.css │ │ └── svg-with-js.min.css │ │ └── LICENSE.txt └── 0-introduction │ └── content.md ├── data ├── bushveld-surveys.zip ├── cape-town-surveys.zip ├── cape-granite-surveys.zip ├── bushveld-surveys │ ├── bushveld-gravity-base-stations.csv │ ├── data │ │ ├── bushveld-gravity-day-15.csv │ │ ├── bushveld-gravity-day-2.csv │ │ ├── bushveld-gravity-day-7.csv │ │ ├── bushveld-gravity-day-11.csv │ │ ├── bushveld-gravity-day-3.csv │ │ ├── bushveld-gravity-day-1.csv │ │ ├── bushveld-gravity-day-4.csv │ │ ├── bushveld-gravity-day-10.csv │ │ ├── bushveld-gravity-day-14.csv │ │ ├── bushveld-gravity-day-5.csv │ │ ├── bushveld-gravity-day-13.csv │ │ ├── bushveld-gravity-day-6.csv │ │ ├── bushveld-gravity-day-8.csv │ │ ├── bushveld-gravity-day-9.csv │ │ └── bushveld-gravity-day-12.csv │ ├── gravimeter-scaling.csv │ └── README.txt ├── cape-granite-surveys │ ├── cape-granite-gravity-base-stations.csv │ ├── data │ │ ├── cape-granite-gravity-day-9.csv │ │ ├── cape-granite-gravity-day-1.csv │ │ ├── cape-granite-gravity-day-3.csv │ │ ├── cape-granite-gravity-day-6.csv │ │ ├── cape-granite-gravity-day-5.csv │ │ ├── cape-granite-gravity-day-2.csv │ │ ├── cape-granite-gravity-day-4.csv │ │ ├── cape-granite-gravity-day-7.csv │ │ └── cape-granite-gravity-day-8.csv │ ├── README.txt │ └── gravimeter-scaling.csv ├── cape-town-surveys │ ├── cape-town-gravity-day-1.csv │ ├── cape-town-gravity-day-2.csv │ ├── cape-town-gravity-day-3.csv │ ├── cape-town-gravity-day-4.csv │ └── cape-town-gravity-day-5.csv └── gravimeter-scaling.csv ├── environment.yml ├── LICENSE.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | .ipynb_checkpoints/ 2 | practicals/cape-town-surveys 3 | practicals/*.csv 4 | -------------------------------------------------------------------------------- /lectures/js/revealjs/test/assets/external-script-a.js: -------------------------------------------------------------------------------- 1 | window.externalScriptSequence += 'A'; -------------------------------------------------------------------------------- /lectures/js/revealjs/test/assets/external-script-b.js: -------------------------------------------------------------------------------- 1 | window.externalScriptSequence += 'B'; -------------------------------------------------------------------------------- /lectures/js/revealjs/test/assets/external-script-c.js: -------------------------------------------------------------------------------- 1 | window.externalScriptSequence += 'C'; -------------------------------------------------------------------------------- /lectures/js/revealjs/test/assets/external-script-d.js: -------------------------------------------------------------------------------- 1 | window.externalScriptSequence += 'D'; -------------------------------------------------------------------------------- /data/bushveld-surveys.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/data/bushveld-surveys.zip -------------------------------------------------------------------------------- /lectures/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: serve 2 | 3 | serve: 4 | xdg-open http://localhost:8000 5 | livereload -p 8000 . 6 | -------------------------------------------------------------------------------- /lectures/js/revealjs/.npmignore: -------------------------------------------------------------------------------- 1 | /test 2 | /examples 3 | /css 4 | /js 5 | .github 6 | .gulpfile 7 | .sass-cache -------------------------------------------------------------------------------- /data/cape-town-surveys.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/data/cape-town-surveys.zip -------------------------------------------------------------------------------- /lectures/assets/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/assets/favicon.png -------------------------------------------------------------------------------- /data/cape-granite-surveys.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/data/cape-granite-surveys.zip -------------------------------------------------------------------------------- /lectures/assets/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/assets/background.jpg -------------------------------------------------------------------------------- /lectures/images/Autograv_CG5_P1150838.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/images/Autograv_CG5_P1150838.JPG -------------------------------------------------------------------------------- /lectures/images/DetalleNivelDeBurbuja.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/images/DetalleNivelDeBurbuja.jpg -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/assets/beeping.txt: -------------------------------------------------------------------------------- 1 | Source: https://freesound.org/people/fennelliott/sounds/379419/ 2 | License: CC0 (public domain) -------------------------------------------------------------------------------- /lectures/images/A10_absolute_gravity_meter.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/images/A10_absolute_gravity_meter.jpg -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/assets/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/examples/assets/image1.png -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/assets/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/examples/assets/image2.png -------------------------------------------------------------------------------- /lectures/assets/university-of-liverpool-black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/assets/university-of-liverpool-black.png -------------------------------------------------------------------------------- /lectures/assets/university-of-liverpool-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/assets/university-of-liverpool-white.png -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-solid-900.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-solid-900.eot -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-solid-900.ttf -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/league-gothic/LICENSE: -------------------------------------------------------------------------------- 1 | SIL Open Font License (OFL) 2 | http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=OFL 3 | -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/assets/beeping.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/examples/assets/beeping.wav -------------------------------------------------------------------------------- /lectures/js/revealjs/test/simple.md: -------------------------------------------------------------------------------- 1 | ## Slide 1.1 2 | 3 | ```js 4 | var a = 1; 5 | ``` 6 | 7 | 8 | ## Slide 1.2 9 | 10 | 11 | 12 | ## Slide 2 13 | -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-brands-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-brands-400.eot -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-brands-400.ttf -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-brands-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-brands-400.woff -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-regular-400.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-regular-400.eot -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-regular-400.ttf -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-solid-900.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-solid-900.woff -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-solid-900.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-solid-900.woff2 -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-brands-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-brands-400.woff2 -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-regular-400.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-regular-400.woff -------------------------------------------------------------------------------- /lectures/css/fontawesome/webfonts/fa-regular-400.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/css/fontawesome/webfonts/fa-regular-400.woff2 -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.eot -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.ttf -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.woff -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leouieda/gravity-processing/HEAD/lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff -------------------------------------------------------------------------------- /data/bushveld-surveys/bushveld-gravity-base-stations.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,gravity 2 | 31,27.43333,-25.99001,978567.41 3 | 141,30.01639,-25.97722,978578.07 4 | 212,27.71883,-24.24251,978546.0 5 | 301,30.12666,-24.07668,978547.04 6 | -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/league-gothic/league-gothic.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'League Gothic'; 3 | src: url('league-gothic.eot'); 4 | src: url('league-gothic.eot?#iefix') format('embedded-opentype'), 5 | url('league-gothic.woff') format('woff'), 6 | url('league-gothic.ttf') format('truetype'); 7 | 8 | font-weight: normal; 9 | font-style: normal; 10 | } -------------------------------------------------------------------------------- /data/cape-granite-surveys/cape-granite-gravity-base-stations.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,gravity 2 | 9,19.22462,-34.19405,979625.09 3 | 32,18.44397,-33.58385,979577.21 4 | 50,18.68443,-33.82832,979583.37 5 | 65,18.96222,-33.13083,979517.44 6 | 80,18.06194,-32.92667,979547.48 7 | 95,18.41333,-32.8875,979545.75 8 | 103,18.50278,-32.42999,979531.06 9 | 123,18.7739,-32.96417,979523.37 10 | 136,18.94556,-32.62971,979405.85 11 | -------------------------------------------------------------------------------- /environment.yml: -------------------------------------------------------------------------------- 1 | name: gravity 2 | channels: 3 | - defaults 4 | - conda-forge 5 | dependencies: 6 | - python=3.8 7 | - pip 8 | - numpy 9 | - scipy 10 | - pandas 11 | - matplotlib 12 | - jupyter 13 | - jupyterlab 14 | - livereload 15 | - pyproj 16 | # Fatiando a Terra packages (used to check calculations and prepare data) 17 | - pooch 18 | - verde 19 | - harmonica 20 | - boule 21 | -------------------------------------------------------------------------------- /lectures/css/fontawesome/css/brands.min.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"} -------------------------------------------------------------------------------- /lectures/css/fontawesome/css/solid.min.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} -------------------------------------------------------------------------------- /lectures/css/fontawesome/css/regular.min.css: -------------------------------------------------------------------------------- 1 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/markdown.md: -------------------------------------------------------------------------------- 1 | # Markdown Demo 2 | 3 | 4 | 5 | ## External 1.1 6 | 7 | Content 1.1 8 | 9 | Note: This will only appear in the speaker notes window. 10 | 11 | 12 | ## External 1.2 13 | 14 | Content 1.2 15 | 16 | 17 | 18 | ## External 2 19 | 20 | Content 2.1 21 | 22 | 23 | 24 | ## External 3.1 25 | 26 | Content 3.1 27 | 28 | 29 | ## External 3.2 30 | 31 | Content 3.2 32 | 33 | 34 | ## External 3.3 35 | 36 | ![External Image](https://s3.amazonaws.com/static.slid.es/logo/v2/slides-symbol-512x512.png) 37 | -------------------------------------------------------------------------------- /lectures/css/fontawesome/css/brands.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Font Awesome 5 Brands'; 3 | font-style: normal; 4 | font-weight: normal; 5 | src: url("../webfonts/fa-brands-400.eot"); 6 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } 7 | 8 | .fab { 9 | font-family: 'Font Awesome 5 Brands'; } 10 | -------------------------------------------------------------------------------- /lectures/css/fontawesome/css/solid.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Font Awesome 5 Free'; 3 | font-style: normal; 4 | font-weight: 900; 5 | src: url("../webfonts/fa-solid-900.eot"); 6 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } 7 | 8 | .fa, 9 | .fas { 10 | font-family: 'Font Awesome 5 Free'; 11 | font-weight: 900; } 12 | -------------------------------------------------------------------------------- /lectures/css/fontawesome/css/regular.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Font Awesome 5 Free'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url("../webfonts/fa-regular-400.eot"); 6 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } 7 | 8 | .far { 9 | font-family: 'Font Awesome 5 Free'; 10 | font-weight: 400; } 11 | -------------------------------------------------------------------------------- /lectures/js/revealjs/js/utils/constants.js: -------------------------------------------------------------------------------- 1 | 2 | export const SLIDES_SELECTOR = '.slides section'; 3 | export const HORIZONTAL_SLIDES_SELECTOR = '.slides>section'; 4 | export const VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section'; 5 | 6 | // Methods that may not be invoked via the postMessage API 7 | export const POST_MESSAGE_METHOD_BLACKLIST = /registerPlugin|registerKeyboardShortcut|addKeyBinding|addEventListener/; 8 | 9 | // Regex for retrieving the fragment style from a class attribute 10 | export const FRAGMENT_STYLE_REGEX = /fade-(down|up|right|left|out|in-then-out|in-then-semi-out)|semi-fade-out|current-visible|shrink|grow/; -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/barebones.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | reveal.js - Barebones 6 | 7 | 8 | 9 | 10 |
11 |
12 | 13 |
14 |

Barebones Presentation

15 |

This example contains the bare minimum includes and markup required to run a reveal.js presentation.

16 |
17 | 18 |
19 |

No Theme

20 |

There's no theme included, so it will fall back on browser defaults.

21 |
22 | 23 |
24 |
25 | 26 | 27 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /lectures/js/revealjs/js/utils/device.js: -------------------------------------------------------------------------------- 1 | const UA = navigator.userAgent; 2 | const testElement = document.createElement( 'div' ); 3 | 4 | export const isMobile = /(iphone|ipod|ipad|android)/gi.test( UA ) || 5 | ( navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 ); // iPadOS 6 | 7 | export const isChrome = /chrome/i.test( UA ) && !/edge/i.test( UA ); 8 | 9 | export const isAndroid = /android/gi.test( UA ); 10 | 11 | // Flags if we should use zoom instead of transform to scale 12 | // up slides. Zoom produces crisper results but has a lot of 13 | // xbrowser quirks so we only use it in whitelisted browsers. 14 | export const supportsZoom = 'zoom' in testElement.style && !isMobile && 15 | ( isChrome || /Version\/[\d\.]+.*Safari/.test( UA ) ); 16 | 17 | export const supportsHistoryAPI = typeof window.history.replaceState === 'function' && !/PhantomJS/.test( UA ); -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright (c) 2021 Leonardo Uieda 2 | 3 | This material is made available under the Creative Commons Attribution 4.0 International (CC BY 4.0) license. 4 | 5 | You are free to: 6 | 7 | * Share - copy and redistribute the material in any medium or format 8 | * Adapt - remix, transform, and build upon the material for any purpose, even commercially. 9 | 10 | Under the following conditions: 11 | 12 | * Attribution - You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. 13 | * No additional restrictions - You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. 14 | 15 | For a full copy of the license text, visit https://creativecommons.org/licenses/by/4.0 16 | -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/reset.css: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v4.0 | 20180602 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td, 15 | article, aside, canvas, details, embed, 16 | figure, figcaption, footer, header, hgroup, 17 | main, menu, nav, output, ruby, section, summary, 18 | time, mark, audio, video { 19 | margin: 0; 20 | padding: 0; 21 | border: 0; 22 | font-size: 100%; 23 | font: inherit; 24 | vertical-align: baseline; 25 | } 26 | /* HTML5 display-role reset for older browsers */ 27 | article, aside, details, figcaption, figure, 28 | footer, header, hgroup, main, menu, nav, section { 29 | display: block; 30 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Processing gravimetry data with Python 2 | 3 | Lesson on processing ground survey gravimetry data for geophysics with Python. 4 | 5 | The lesson focuses on fundamentals and does relies only on the standard 6 | scientific Python stack (numpy, matplotlib, etc). 7 | Corrections and processing are implemented in the lesson as a way to impart 8 | deeper understanding of how they work, avoiding the blackbox approach that 9 | would result from the use of ready-made software. 10 | 11 | ## Learning outcomes 12 | 13 | 14 | ## Lesson material 15 | 16 | 17 | ## Data sources 18 | 19 | The raw data used in this lesson was created from the 20 | [BGS land gravity archive](https://www.bgs.ac.uk/datasets/gb-land-gravity-survey/), 21 | which is freely available under an 22 | [Open Government License](https://www.bgs.ac.uk/bgs-intellectual-property-rights/open-government-licence/). 23 | 24 | ## License 25 | 26 | This material is made available under the 27 | [Creative Commons Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0) 28 | license. 29 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/night.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Black theme for reveal.js. 3 | * 4 | * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se 5 | */ 6 | 7 | 8 | // Default mixins and settings ----------------- 9 | @import "../template/mixins"; 10 | @import "../template/settings"; 11 | // --------------------------------------------- 12 | 13 | 14 | // Include theme-specific fonts 15 | @import url(https://fonts.googleapis.com/css?family=Montserrat:700); 16 | @import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700,400italic,700italic); 17 | 18 | 19 | // Override theme settings (see ../template/settings.scss) 20 | $backgroundColor: #111; 21 | 22 | $mainFont: 'Open Sans', sans-serif; 23 | $linkColor: #e7ad52; 24 | $linkColorHover: lighten( $linkColor, 20% ); 25 | $headingFont: 'Montserrat', Impact, sans-serif; 26 | $headingTextShadow: none; 27 | $headingLetterSpacing: -0.03em; 28 | $headingTextTransform: none; 29 | $selectionBackgroundColor: #e7ad52; 30 | 31 | 32 | // Theme template ------------------------------ 33 | @import "../template/theme"; 34 | // --------------------------------------------- -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/template/exposer.scss: -------------------------------------------------------------------------------- 1 | // Exposes theme's variables for easy re-use in CSS for plugin authors 2 | 3 | :root { 4 | --background-color: #{$backgroundColor}; 5 | --main-font: #{$mainFont}; 6 | --main-font-size: #{$mainFontSize}; 7 | --main-color: #{$mainColor}; 8 | --block-margin: #{$blockMargin}; 9 | --heading-margin: #{$headingMargin}; 10 | --heading-font: #{$headingFont}; 11 | --heading-color: #{$headingColor}; 12 | --heading-line-height: #{$headingLineHeight}; 13 | --heading-letter-spacing: #{$headingLetterSpacing}; 14 | --heading-text-transform: #{$headingTextTransform}; 15 | --heading-text-shadow: #{$headingTextShadow}; 16 | --heading-font-weight: #{$headingFontWeight}; 17 | --heading1-text-shadow: #{$heading1TextShadow}; 18 | --heading1-size: #{$heading1Size}; 19 | --heading2-size: #{$heading2Size}; 20 | --heading3-size: #{$heading3Size}; 21 | --heading4-size: #{$heading4Size}; 22 | --code-font: #{$codeFont}; 23 | --link-color: #{$linkColor}; 24 | --link-color-hover: #{$linkColorHover}; 25 | --selection-background-color: #{$selectionBackgroundColor}; 26 | --selection-color: #{$selectionColor}; 27 | } 28 | -------------------------------------------------------------------------------- /lectures/js/revealjs/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | Please keep the [issue tracker](http://github.com/hakimel/reveal.js/issues) limited to **bug reports**, **feature requests** and **pull requests**. 4 | 5 | 6 | ### Personal Support 7 | If you have personal support or setup questions the best place to ask those are [StackOverflow](http://stackoverflow.com/questions/tagged/reveal.js). 8 | 9 | 10 | ### Bug Reports 11 | When reporting a bug make sure to include information about which browser and operating system you are on as well as the necessary steps to reproduce the issue. If possible please include a link to a sample presentation where the bug can be tested. 12 | 13 | 14 | ### Pull Requests 15 | - Should follow the coding style of the file you work in, most importantly: 16 | - Tabs to indent 17 | - Single-quoted strings 18 | - Should be made towards the **dev branch** 19 | - Should be submitted from a feature/topic branch (not your master) 20 | 21 | 22 | ### Plugins 23 | Please do not submit plugins as pull requests. They should be maintained in their own separate repository. More information here: https://github.com/hakimel/reveal.js/wiki/Plugin-Guidelines 24 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/serif.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * A simple theme for reveal.js presentations, similar 3 | * to the default theme. The accent color is brown. 4 | * 5 | * This theme is Copyright (C) 2012-2013 Owen Versteeg, http://owenversteeg.com - it is MIT licensed. 6 | */ 7 | 8 | 9 | // Default mixins and settings ----------------- 10 | @import "../template/mixins"; 11 | @import "../template/settings"; 12 | // --------------------------------------------- 13 | 14 | 15 | 16 | // Override theme settings (see ../template/settings.scss) 17 | $mainFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif; 18 | $mainColor: #000; 19 | $headingFont: 'Palatino Linotype', 'Book Antiqua', Palatino, FreeSerif, serif; 20 | $headingColor: #383D3D; 21 | $headingTextShadow: none; 22 | $headingTextTransform: none; 23 | $backgroundColor: #F0F1EB; 24 | $linkColor: #51483D; 25 | $linkColorHover: lighten( $linkColor, 20% ); 26 | $selectionBackgroundColor: #26351C; 27 | 28 | .reveal a { 29 | line-height: 1.3em; 30 | } 31 | 32 | 33 | // Theme template ------------------------------ 34 | @import "../template/theme"; 35 | // --------------------------------------------- 36 | -------------------------------------------------------------------------------- /lectures/js/revealjs/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2020 Hakim El Hattab, http://hakim.se, and reveal.js contributors 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/league.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * League theme for reveal.js. 3 | * 4 | * This was the default theme pre-3.0.0. 5 | * 6 | * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se 7 | */ 8 | 9 | 10 | // Default mixins and settings ----------------- 11 | @import "../template/mixins"; 12 | @import "../template/settings"; 13 | // --------------------------------------------- 14 | 15 | 16 | 17 | // Include theme-specific fonts 18 | @import url(fonts/league-gothic/league-gothic.css); 19 | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); 20 | 21 | // Override theme settings (see ../template/settings.scss) 22 | $headingTextShadow: 0px 0px 6px rgba(0,0,0,0.2); 23 | $heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); 24 | 25 | // Background generator 26 | @mixin bodyBackground() { 27 | @include radial-gradient( rgba(28,30,32,1), rgba(85,90,95,1) ); 28 | } 29 | 30 | 31 | 32 | // Theme template ------------------------------ 33 | @import "../template/theme"; 34 | // --------------------------------------------- -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-9.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 136,18.94556,-32.62971,-823894.52,6301121.69,505.4,0.0,2011.05 3 | 137,18.95694,-32.35639,-826936.98,6331947.89,463.0,27.0,1979.3 4 | 138,18.97833,-32.31972,-825448.82,6336337.16,402.3,31.0,1995.66 5 | 139,18.98778,-32.57584,-820697.86,6307708.29,178.5,56.0,2062.21 6 | 140,19.02695,-32.03889,-824993.08,6368482.43,449.6,116.0,1971.48 7 | 141,19.11708,-32.62782,-807634.65,6303518.89,713.2,170.0,1957.66 8 | 142,19.21329,-32.68517,-797648.04,6298298.16,729.8,179.0,1950.83 9 | 143,19.29491,-32.89536,-786791.12,6275746.44,999.9,198.0,1915.44 10 | 144,19.39352,-32.08752,-789245.47,6367590.08,248.4,279.0,1995.4 11 | 145,19.4523,-32.83102,-772844.9,6284921.18,948.6,356.0,1920.18 12 | 146,19.65533,-32.45386,-759039.19,6329693.96,402.0,391.0,1993.0 13 | 147,19.70056,-32.07082,-760159.9,6373189.42,363.6,430.0,1971.32 14 | 148,19.75822,-32.6514,-746454.75,6308791.37,452.5,486.0,2007.19 15 | 149,19.81192,-32.5975,-742126.3,6315477.55,401.1,492.0,2008.75 16 | 150,19.88031,-32.86681,-731834.29,6286116.66,533.0,516.0,2010.06 17 | 151,19.94664,-32.36861,-732540.44,6342732.91,439.5,560.0,1973.38 18 | 136,18.94556,-32.62971,-823894.52,6301121.69,505.4,637.0,2036.53 19 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/template/settings.scss: -------------------------------------------------------------------------------- 1 | // Base settings for all themes that can optionally be 2 | // overridden by the super-theme 3 | 4 | // Background of the presentation 5 | $backgroundColor: #2b2b2b; 6 | 7 | // Primary/body text 8 | $mainFont: 'Lato', sans-serif; 9 | $mainFontSize: 40px; 10 | $mainColor: #eee; 11 | 12 | // Vertical spacing between blocks of text 13 | $blockMargin: 20px; 14 | 15 | // Headings 16 | $headingMargin: 0 0 $blockMargin 0; 17 | $headingFont: 'League Gothic', Impact, sans-serif; 18 | $headingColor: #eee; 19 | $headingLineHeight: 1.2; 20 | $headingLetterSpacing: normal; 21 | $headingTextTransform: uppercase; 22 | $headingTextShadow: none; 23 | $headingFontWeight: normal; 24 | $heading1TextShadow: $headingTextShadow; 25 | 26 | $heading1Size: 3.77em; 27 | $heading2Size: 2.11em; 28 | $heading3Size: 1.55em; 29 | $heading4Size: 1.00em; 30 | 31 | $codeFont: monospace; 32 | 33 | // Links and actions 34 | $linkColor: #13DAEC; 35 | $linkColorHover: lighten( $linkColor, 20% ); 36 | 37 | // Text selection 38 | $selectionBackgroundColor: #FF5E99; 39 | $selectionColor: #fff; 40 | 41 | // Generates the presentation background, can be overridden 42 | // to return a background image or gradient 43 | @mixin bodyBackground() { 44 | background: $backgroundColor; 45 | } 46 | -------------------------------------------------------------------------------- /lectures/js/revealjs/plugin/highlight/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #272822; 10 | color: #ddd; 11 | } 12 | 13 | .hljs-tag, 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal, 17 | .hljs-strong, 18 | .hljs-name { 19 | color: #f92672; 20 | } 21 | 22 | .hljs-code { 23 | color: #66d9ef; 24 | } 25 | 26 | .hljs-class .hljs-title { 27 | color: white; 28 | } 29 | 30 | .hljs-attribute, 31 | .hljs-symbol, 32 | .hljs-regexp, 33 | .hljs-link { 34 | color: #bf79db; 35 | } 36 | 37 | .hljs-string, 38 | .hljs-bullet, 39 | .hljs-subst, 40 | .hljs-title, 41 | .hljs-section, 42 | .hljs-emphasis, 43 | .hljs-type, 44 | .hljs-built_in, 45 | .hljs-builtin-name, 46 | .hljs-selector-attr, 47 | .hljs-selector-pseudo, 48 | .hljs-addition, 49 | .hljs-variable, 50 | .hljs-template-tag, 51 | .hljs-template-variable { 52 | color: #a6e22e; 53 | } 54 | 55 | .hljs-comment, 56 | .hljs-quote, 57 | .hljs-deletion, 58 | .hljs-meta { 59 | color: #75715e; 60 | } 61 | 62 | .hljs-keyword, 63 | .hljs-selector-tag, 64 | .hljs-literal, 65 | .hljs-doctag, 66 | .hljs-title, 67 | .hljs-section, 68 | .hljs-type, 69 | .hljs-selector-id { 70 | font-weight: bold; 71 | } 72 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-1.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 9,19.22462,-34.19405,-773714.59,6129272.41,79.0,0.0,2094.31 3 | 0,18.34444,-34.12971,-856779.83,6124813.86,32.2,78.0,2128.3 4 | 1,18.42557,-34.29778,-846453.18,6107067.17,104.0,93.0,2135.48 5 | 2,18.54388,-34.07861,-839002.0,6133257.14,34.7,118.0,2114.19 6 | 3,18.71889,-34.03082,-823432.79,6140961.62,19.3,132.0,2114.96 7 | 4,18.84778,-34.13861,-809691.08,6130582.54,14.0,146.0,2124.65 8 | 5,18.88528,-34.09473,-806889.19,6135996.12,296.5,151.0,2049.58 9 | 6,19.0174,-34.21436,-792692.41,6124315.98,195.0,167.0,2087.64 10 | 7,19.11142,-34.0331,-786757.07,6145851.94,313.9,184.0,2032.22 11 | 8,19.15,-34.35167,-778209.96,6110650.39,11.58,215.0,2146.54 12 | 10,19.2729,-34.01733,-771932.23,6149691.83,337.0,246.0,2035.92 13 | 11,19.35654,-34.17191,-761771.48,6133436.76,262.4,262.0,2073.6 14 | 12,19.36485,-34.56136,-755023.43,6089920.04,50.9,295.0,2174.36 15 | 13,19.422,-34.29756,-753763.79,6120191.5,280.0,318.0,2086.95 16 | 14,19.48856,-34.25705,-748191.0,6125568.53,266.0,325.0,2090.93 17 | 15,19.58333,-34.595,-734274.48,6088916.22,75.89,360.0,2171.34 18 | 16,19.72166,-34.185,-727588.12,6136541.47,218.84,397.0,2098.08 19 | 9,19.22462,-34.19405,-773714.59,6129272.41,79.0,434.0,2111.67 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-3.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 50,18.68443,-33.82832,-829886.4,6163216.0,153.0,0.0,1784.63 3 | 34,18.46832,-33.95168,-848120.65,6146476.15,38.4,19.0,1834.1 4 | 35,18.48975,-33.64217,-851117.92,6181497.08,85.89,48.0,1797.51 5 | 36,18.50667,-33.66417,-849175.95,6179255.77,111.5,51.0,1794.78 6 | 37,18.51472,-33.49611,-851116.23,6198225.42,567.1,69.0,1674.9 7 | 38,18.53574,-33.81841,-843967.82,6162339.02,17.18,97.0,1825.02 8 | 39,18.56111,-33.94389,-839570.79,6148602.07,36.0,109.0,1836.65 9 | 40,18.56833,-33.88693,-839813.49,6155089.28,51.4,114.0,1822.91 10 | 41,18.58305,-33.71584,-841182.01,6174482.4,138.8,130.0,1790.06 11 | 42,18.59557,-33.26334,-847206.31,6225431.4,97.1,179.0,1758.48 12 | 43,18.60194,-33.41943,-844133.15,6207996.81,207.9,194.0,1750.1 13 | 44,18.61861,-33.045,-848471.38,6250246.62,123.5,230.0,1743.5 14 | 45,18.62889,-33.8364,-834956.85,6161569.2,252.7,305.0,1769.18 15 | 46,18.64223,-33.86333,-833277.18,6158726.3,191.1,308.0,1786.52 16 | 47,18.65083,-33.59721,-836714.25,6188697.23,92.6,332.0,1783.78 17 | 48,18.65944,-33.69722,-834316.04,6177590.82,99.8,343.0,1794.71 18 | 49,18.66806,-33.18723,-841567.15,6234934.32,335.0,395.0,1706.71 19 | 50,18.68443,-33.82832,-829886.4,6163216.0,153.0,465.0,1793.93 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-6.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 95,18.41333,-32.8875,-870389.41,6265200.57,59.8,0.0,1959.06 3 | 85,18.27333,-32.89555,-883529.32,6262411.39,6.8,10.0,1964.84 4 | 86,18.30194,-32.65195,-884704.84,6290167.39,20.3,34.0,1957.09 5 | 87,18.32028,-32.73083,-881707.18,6281551.23,64.7,41.0,1952.78 6 | 88,18.33112,-32.01334,-891981.87,6362334.51,102.1,111.0,1901.41 7 | 89,18.34277,-32.39444,-884893.64,6319652.54,16.8,150.0,1961.67 8 | 90,18.34528,-32.68056,-880131.31,6287535.18,61.4,175.0,1951.52 9 | 91,18.36749,-32.8075,-876006.63,6273572.16,37.1,188.0,1963.01 10 | 92,18.38222,-32.39861,-881066.7,6319710.38,232.4,230.0,1910.03 11 | 93,18.39417,-32.20168,-883009.87,6342001.06,21.6,252.0,1933.99 12 | 94,18.40472,-32.81639,-872333.87,6273072.62,53.3,322.0,1961.45 13 | 96,18.43388,-32.45306,-875289.09,6314279.4,80.0,359.0,1949.34 14 | 97,18.44305,-32.19083,-878507.71,6343868.07,182.1,386.0,1896.63 15 | 98,18.45416,-32.77333,-868324.5,6278569.87,77.4,439.0,1954.59 16 | 99,18.46083,-32.15083,-877429.45,6348598.31,303.4,509.0,1863.12 17 | 100,18.47305,-32.12971,-876588.38,6351133.03,94.8,511.0,1904.31 18 | 101,18.48277,-32.01443,-877440.61,6364217.08,170.0,521.0,1877.28 19 | 95,18.41333,-32.8875,-870389.41,6265200.57,59.8,597.0,1965.03 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-5.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 80,18.06194,-32.92667,-903061.75,6256031.08,30.1,0.0,2172.94 3 | 68,19.28333,-33.58501,-777539.26,6198276.17,218.84,130.0,2174.41 4 | 69,19.33049,-33.19026,-779038.74,6243124.41,1029.5,168.0,1950.18 5 | 70,19.37833,-33.85167,-764606.79,6169592.4,266.7,228.0,2188.59 6 | 71,19.44875,-33.29372,-766358.93,6233005.07,724.9,278.0,2019.28 7 | 72,19.55167,-33.51334,-753431.15,6209671.18,358.75,301.0,2121.46 8 | 73,19.74413,-33.19974,-739920.88,6247171.55,727.1,337.0,2012.11 9 | 74,19.87167,-33.32333,-726136.99,6234869.51,810.76,352.0,2002.75 10 | 75,19.96167,-33.84833,-710142.27,6177162.72,145.69,400.0,2206.08 11 | 76,17.89861,-32.745,-921533.73,6274197.2,5.0,599.0,2189.73 12 | 77,17.9436,-32.87361,-915150.96,6260361.78,60.0,613.0,2187.96 13 | 78,17.96944,-32.7086,-915398.06,6279269.61,5.0,629.0,2181.78 14 | 79,18.01111,-32.76694,-910487.61,6273285.27,200.5,635.0,2148.3 15 | 81,18.11154,-32.87689,-899168.94,6262305.94,48.02,647.0,2183.9 16 | 82,18.14192,-32.98369,-894556.9,6250720.38,30.96,656.0,2195.14 17 | 83,18.20753,-32.92297,-889324.16,6258437.91,27.27,664.0,2189.63 18 | 84,18.24278,-32.88306,-886625.73,6263400.78,3.6,668.0,2194.79 19 | 80,18.06194,-32.92667,-903061.75,6256031.08,30.1,683.0,2193.43 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-2.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 32,18.44397,-33.58385,-856356.49,6187425.59,131.79,0.0,1959.11 3 | 17,19.92999,-34.7,-700636.96,6081455.15,10.36,153.0,2110.37 4 | 18,18.00833,-33.11082,-905122.42,6234596.77,192.8,378.0,1923.88 5 | 19,18.07957,-33.13184,-898041.52,6233218.24,32.34,384.0,1954.48 6 | 20,18.13834,-33.11853,-892702.8,6235521.23,160.8,390.0,1923.05 7 | 21,18.16667,-33.35194,-886217.91,6209689.96,84.1,412.0,1975.13 8 | 22,18.2186,-33.29395,-882267.38,6216914.49,34.59,420.0,1966.83 9 | 23,18.25917,-33.3661,-877269.21,6209365.35,85.3,428.0,1959.36 10 | 24,18.26884,-33.41125,-875624.22,6204427.04,43.57,432.0,1974.48 11 | 25,18.30106,-33.09956,-877626.45,6239869.81,90.31,467.0,1940.02 12 | 26,18.33611,-33.49167,-867986.68,6196312.93,103.4,502.0,1969.26 13 | 27,18.35558,-33.43617,-867053.19,6202808.34,157.71,508.0,1951.06 14 | 28,18.37361,-33.95972,-856845.48,6144287.18,7.9,559.0,2028.91 15 | 29,18.38184,-33.20377,-868320.69,6229258.19,42.91,632.0,1960.02 16 | 30,18.40807,-33.02055,-868771.28,6250186.77,72.1,651.0,1943.09 17 | 31,18.42444,-33.36472,-861720.01,6211760.83,86.5,681.0,1962.76 18 | 33,18.45433,-33.52031,-856406.23,6194697.36,148.42,697.0,1963.3 19 | 32,18.44397,-33.58385,-856356.49,6187425.59,131.79,703.0,1973.17 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-4.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 65,18.96222,-33.13083,-814677.83,6245102.53,114.2,0.0,1645.19 3 | 51,18.71693,-33.42444,-833233.17,6208958.62,297.7,33.0,1656.44 4 | 52,18.72528,-33.33694,-833822.25,6218887.25,234.1,42.0,1661.69 5 | 53,18.73611,-33.73807,-826479.77,6174025.5,108.0,81.0,1714.81 6 | 54,18.75528,-33.07306,-835114.5,6248895.25,88.9,155.0,1668.89 7 | 55,18.76944,-33.96832,-819707.17,6148641.83,177.1,243.0,1723.99 8 | 56,18.7975,-33.28444,-827839.05,6225726.77,160.1,315.0,1678.39 9 | 57,18.81168,-33.89223,-816964.84,6157733.26,300.1,378.0,1697.84 10 | 58,18.82388,-33.745,-818145.69,6174406.09,191.0,393.0,1710.48 11 | 59,18.84528,-33.52251,-819627.33,6199642.87,224.8,413.0,1687.59 12 | 60,18.87862,-33.68611,-813939.46,6181729.02,183.2,428.0,1708.14 13 | 61,18.89111,-33.92944,-808951.52,6154605.26,199.2,453.0,1727.11 14 | 62,18.90111,-33.14362,-820249.56,6242877.2,333.0,526.0,1624.64 15 | 63,18.91194,-33.04611,-820726.89,6253958.51,139.6,535.0,1659.35 16 | 64,18.94278,-33.76527,-806689.96,6173689.62,384.1,602.0,1672.22 17 | 66,18.97333,-33.85944,-802360.69,6163528.54,169.4,612.0,1729.72 18 | 67,18.99167,-33.95139,-799210.28,6153458.35,1286.6,620.0,1482.85 19 | 65,18.96222,-33.13083,-814677.83,6245102.53,114.2,696.0,1673.03 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-7.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 103,18.50278,-32.42999,-869085.17,6317784.37,19.3,0.0,2068.95 3 | 102,18.4939,-32.85083,-863332.96,6270394.77,62.0,38.0,2082.89 4 | 104,18.5175,-32.33833,-869107.57,6328276.69,215.8,86.0,2024.14 5 | 105,18.535,-32.94221,-857998.94,6260679.4,13.1,141.0,2100.06 6 | 106,18.54417,-32.26418,-867711.63,6336958.77,83.3,200.0,2041.73 7 | 107,18.55333,-32.61722,-861355.2,6297419.98,472.1,231.0,2004.1 8 | 108,18.57889,-32.64806,-858445.18,6294293.43,430.4,235.0,2012.53 9 | 109,18.58583,-32.435,-861095.02,6318315.72,117.4,253.0,2050.92 10 | 110,18.59721,-32.54832,-858254.67,6305736.78,85.9,263.0,2073.99 11 | 111,18.61028,-32.86528,-852075.77,6270314.37,71.2,292.0,2089.68 12 | 112,18.62666,-32.5175,-855930.32,6309584.99,24.3,325.0,2082.33 13 | 113,18.6311,-32.71638,-852423.03,6287308.33,546.3,344.0,1987.84 14 | 114,18.64999,-32.17944,-858909.31,6347863.35,187.8,394.0,2009.26 15 | 115,18.66611,-32.81361,-847589.59,6276850.82,782.7,449.0,1941.58 16 | 116,18.67223,-32.99139,-844239.59,6256972.27,224.1,467.0,2067.37 17 | 117,18.68056,-32.13083,-856730.64,6353721.67,634.1,553.0,1912.85 18 | 118,18.70084,-32.32777,-851784.39,6331863.13,443.6,573.0,1972.79 19 | 103,18.50278,-32.42999,-869085.17,6317784.37,19.3,591.0,2092.59 20 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/data/cape-granite-gravity-day-8.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 123,18.7739,-32.96417,-835043.75,6261360.36,116.2,0.0,2137.04 3 | 119,18.70917,-32.89722,-842209.74,6268028.9,659.2,10.0,2022.83 4 | 120,18.72362,-32.44194,-847864.13,6319336.94,402.0,55.0,2044.71 5 | 121,18.73694,-32.12222,-851472.14,6355419.14,497.3,87.0,1986.68 6 | 122,18.75861,-32.16722,-848717.95,6350644.45,554.3,92.0,1977.03 7 | 124,18.79472,-32.455,-840894.47,6318792.46,449.4,120.0,2034.49 8 | 125,18.80472,-32.23083,-843349.74,6344094.89,842.0,143.0,1917.55 9 | 126,18.8175,-32.06833,-844584.6,6362509.85,112.3,157.0,2051.37 10 | 127,18.82529,-32.48418,-837539.85,6315911.15,299.4,199.0,2067.57 11 | 128,18.85083,-32.12694,-840515.06,6356354.72,83.2,230.0,2058.61 12 | 129,18.8625,-32.59473,-832317.1,6303980.03,143.4,270.0,2103.92 13 | 130,18.87807,-32.96472,-825179.71,6262653.27,159.0,308.0,2123.17 14 | 131,18.88417,-32.68361,-828904.32,6294282.39,98.6,336.0,2118.19 15 | 132,18.89333,-32.44806,-831612.38,6320842.43,864.3,358.0,1933.58 16 | 133,18.9075,-32.30583,-832410.58,6336992.57,238.5,372.0,2042.47 17 | 134,18.91972,-32.58694,-826997.83,6305590.83,877.1,403.0,1937.52 18 | 135,18.93306,-32.27194,-830482.77,6341124.29,130.2,436.0,2056.83 19 | 123,18.7739,-32.96417,-835043.75,6261360.36,116.2,511.0,2142.15 20 | -------------------------------------------------------------------------------- /lectures/js/revealjs/test/test-dependencies.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Test Dependencies 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 | 28 | 29 | 30 | 49 | 50 | 51 | 52 | -------------------------------------------------------------------------------- /lectures/js/revealjs/js/utils/loader.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Loads a JavaScript file from the given URL and executes it. 3 | * 4 | * @param {string} url Address of the .js file to load 5 | * @param {function} callback Method to invoke when the script 6 | * has loaded and executed 7 | */ 8 | export const loadScript = ( url, callback ) => { 9 | 10 | const script = document.createElement( 'script' ); 11 | script.type = 'text/javascript'; 12 | script.async = false; 13 | script.defer = false; 14 | script.src = url; 15 | 16 | if( typeof callback === 'function' ) { 17 | 18 | // Success callback 19 | script.onload = script.onreadystatechange = event => { 20 | if( event.type === 'load' || /loaded|complete/.test( script.readyState ) ) { 21 | 22 | // Kill event listeners 23 | script.onload = script.onreadystatechange = script.onerror = null; 24 | 25 | callback(); 26 | 27 | } 28 | }; 29 | 30 | // Error callback 31 | script.onerror = err => { 32 | 33 | // Kill event listeners 34 | script.onload = script.onreadystatechange = script.onerror = null; 35 | 36 | callback( new Error( 'Failed loading script: ' + script.src + '\n' + err ) ); 37 | 38 | }; 39 | 40 | } 41 | 42 | // Append the script at the end of 43 | const head = document.querySelector( 'head' ); 44 | head.insertBefore( script, head.lastChild ); 45 | 46 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/plugin/highlight/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | } 15 | 16 | .hljs-keyword, 17 | .hljs-selector-tag, 18 | .hljs-tag { 19 | color: #e3ceab; 20 | } 21 | 22 | .hljs-template-tag { 23 | color: #dcdcdc; 24 | } 25 | 26 | .hljs-number { 27 | color: #8cd0d3; 28 | } 29 | 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-attribute { 33 | color: #efdcbc; 34 | } 35 | 36 | .hljs-literal { 37 | color: #efefaf; 38 | } 39 | 40 | .hljs-subst { 41 | color: #8f8f8f; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-name, 46 | .hljs-selector-id, 47 | .hljs-selector-class, 48 | .hljs-section, 49 | .hljs-type { 50 | color: #efef8f; 51 | } 52 | 53 | .hljs-symbol, 54 | .hljs-bullet, 55 | .hljs-link { 56 | color: #dca3a3; 57 | } 58 | 59 | .hljs-deletion, 60 | .hljs-string, 61 | .hljs-built_in, 62 | .hljs-builtin-name { 63 | color: #cc9393; 64 | } 65 | 66 | .hljs-addition, 67 | .hljs-comment, 68 | .hljs-quote, 69 | .hljs-meta { 70 | color: #7f9f7f; 71 | } 72 | 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | 78 | .hljs-strong { 79 | font-weight: bold; 80 | } 81 | -------------------------------------------------------------------------------- /lectures/js/revealjs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 |
19 |
Slide 1
20 |
Slide 2
21 |
22 |
23 | 24 | 25 | 26 | 27 | 28 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/sky.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Sky theme for reveal.js. 3 | * 4 | * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se 5 | */ 6 | 7 | 8 | // Default mixins and settings ----------------- 9 | @import "../template/mixins"; 10 | @import "../template/settings"; 11 | // --------------------------------------------- 12 | 13 | 14 | 15 | // Include theme-specific fonts 16 | @import url(https://fonts.googleapis.com/css?family=Quicksand:400,700,400italic,700italic); 17 | @import url(https://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700); 18 | 19 | 20 | // Override theme settings (see ../template/settings.scss) 21 | $mainFont: 'Open Sans', sans-serif; 22 | $mainColor: #333; 23 | $headingFont: 'Quicksand', sans-serif; 24 | $headingColor: #333; 25 | $headingLetterSpacing: -0.08em; 26 | $headingTextShadow: none; 27 | $backgroundColor: #f7fbfc; 28 | $linkColor: #3b759e; 29 | $linkColorHover: lighten( $linkColor, 20% ); 30 | $selectionBackgroundColor: #134674; 31 | 32 | // Fix links so they are not cut off 33 | .reveal a { 34 | line-height: 1.3em; 35 | } 36 | 37 | // Background generator 38 | @mixin bodyBackground() { 39 | @include radial-gradient( #add9e4, #f7fbfc ); 40 | } 41 | 42 | 43 | 44 | // Theme template ------------------------------ 45 | @import "../template/theme"; 46 | // --------------------------------------------- 47 | -------------------------------------------------------------------------------- /data/cape-town-surveys/cape-town-gravity-day-1.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,0.0,2555.08 3 | 1,18.37418,-34.19583,258037.64,6213013.01,18.4,8.0,2565.12 4 | 2,18.40388,-34.23972,260899.25,6208214.71,25.0,14.0,2569.49 5 | 3,18.41112,-34.16444,261353.99,6216582.03,228.7,23.0,2514.59 6 | 4,18.42557,-34.29778,263060.44,6201825.21,104.0,41.0,2560.43 7 | 5,18.4586,-34.205,265844.02,6212193.18,8.9,52.0,2559.84 8 | 6,18.48611,-34.08528,268052.07,6225535.49,19.0,66.0,2539.93 9 | 7,18.50333,-34.03555,269506.57,6231090.44,15.1,75.0,2537.01 10 | 8,18.54388,-34.07861,273365.76,6226404.98,34.7,81.0,2536.94 11 | 9,18.59306,-34.04916,277827.86,6229779.46,59.6,89.0,2530.35 12 | 10,18.6525,-34.07167,283372.95,6227410.34,64.8,96.0,2532.21 13 | 11,18.66722,-34.01418,284586.18,6233817.86,43.9,105.0,2529.27 14 | 12,18.71722,-34.06194,289322.41,6228624.82,75.5,112.0,2527.23 15 | 13,18.71889,-34.03082,289399.59,6232079.83,19.3,116.0,2536.1 16 | 14,18.79668,-34.00307,296516.56,6235314.97,111.0,126.0,2499.35 17 | 15,18.81917,-34.08083,298777.81,6226735.15,15.4,137.0,2534.75 18 | 16,18.84778,-34.13861,301553.14,6220382.79,14.0,147.0,2544.3 19 | 17,18.855,-34.24028,302456.31,6209120.56,43.6,163.0,2548.86 20 | 18,18.88528,-34.09473,304910.65,6225321.75,296.5,181.0,2468.01 21 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,238.0,2547.94 22 | -------------------------------------------------------------------------------- /data/cape-town-surveys/cape-town-gravity-day-2.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,0.0,2544.12 3 | 19,18.37361,-33.95972,257311.95,6239201.71,7.9,22.0,2523.81 4 | 20,18.38167,-33.92168,257949.19,6243440.2,24.69,27.0,2519.0 5 | 21,18.41167,-33.89944,260661.04,6245977.44,6.7,31.0,2524.83 6 | 22,18.41861,-33.92111,261363.39,6243589.98,24.3,34.0,2521.49 7 | 23,18.4375,-33.73473,262595.07,6264306.55,19.8,57.0,2505.26 8 | 24,18.43971,-33.92751,263332.19,6242928.99,10.3,81.0,2524.1 9 | 25,18.44667,-33.90556,263915.14,6245379.68,2.4,84.0,2524.47 10 | 26,18.44861,-33.69778,263523.25,6268430.41,21.8,113.0,2498.37 11 | 27,18.45444,-33.97221,264817.24,6238004.82,59.4,156.0,2511.48 12 | 28,18.46611,-33.75667,265306.16,6261938.6,231.2,182.0,2457.41 13 | 29,18.46832,-33.95168,266043.68,6240313.75,38.4,208.0,2516.67 14 | 30,18.48334,-33.89166,267268.75,6247005.19,5.3,217.0,2519.25 15 | 31,18.49722,-33.72917,268114.28,6265059.18,136.4,239.0,2475.77 16 | 32,18.50667,-33.66417,268815.88,6272289.75,111.5,247.0,2475.94 17 | 33,18.51028,-33.87361,269712.13,6249067.96,26.6,271.0,2511.21 18 | 34,18.51279,-33.78389,269703.7,6259024.88,38.3,284.0,2497.4 19 | 35,18.52417,-33.9164,271111.64,6244352.94,14.6,301.0,2517.22 20 | 36,18.53574,-33.81841,271920.87,6255247.24,17.18,315.0,2503.9 21 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,360.0,2536.92 22 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/beige.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Beige theme for reveal.js. 3 | * 4 | * Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se 5 | */ 6 | 7 | 8 | // Default mixins and settings ----------------- 9 | @import "../template/mixins"; 10 | @import "../template/settings"; 11 | // --------------------------------------------- 12 | 13 | 14 | 15 | // Include theme-specific fonts 16 | @import url(fonts/league-gothic/league-gothic.css); 17 | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); 18 | 19 | 20 | // Override theme settings (see ../template/settings.scss) 21 | $mainColor: #333; 22 | $headingColor: #333; 23 | $headingTextShadow: none; 24 | $backgroundColor: #f7f3de; 25 | $linkColor: #8b743d; 26 | $linkColorHover: lighten( $linkColor, 20% ); 27 | $selectionBackgroundColor: rgba(79, 64, 28, 0.99); 28 | $heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); 29 | 30 | // Background generator 31 | @mixin bodyBackground() { 32 | @include radial-gradient( rgba(247,242,211,1), rgba(255,255,255,1) ); 33 | } 34 | 35 | 36 | 37 | // Theme template ------------------------------ 38 | @import "../template/theme"; 39 | // --------------------------------------------- -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/black.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Black theme for reveal.js. This is the opposite of the 'white' theme. 3 | * 4 | * By Hakim El Hattab, http://hakim.se 5 | */ 6 | 7 | 8 | // Default mixins and settings ----------------- 9 | @import "../template/mixins"; 10 | @import "../template/settings"; 11 | // --------------------------------------------- 12 | 13 | 14 | // Include theme-specific fonts 15 | @import url(fonts/source-sans-pro/source-sans-pro.css); 16 | 17 | 18 | // Override theme settings (see ../template/settings.scss) 19 | $backgroundColor: #191919; 20 | 21 | $mainColor: #fff; 22 | $headingColor: #fff; 23 | 24 | $mainFontSize: 42px; 25 | $mainFont: 'Source Sans Pro', Helvetica, sans-serif; 26 | $headingFont: 'Source Sans Pro', Helvetica, sans-serif; 27 | $headingTextShadow: none; 28 | $headingLetterSpacing: normal; 29 | $headingTextTransform: uppercase; 30 | $headingFontWeight: 600; 31 | $linkColor: #42affa; 32 | $linkColorHover: lighten( $linkColor, 15% ); 33 | $selectionBackgroundColor: lighten( $linkColor, 25% ); 34 | 35 | $heading1Size: 2.5em; 36 | $heading2Size: 1.6em; 37 | $heading3Size: 1.3em; 38 | $heading4Size: 1.0em; 39 | 40 | section.has-light-background { 41 | &, h1, h2, h3, h4, h5, h6 { 42 | color: #222; 43 | } 44 | } 45 | 46 | 47 | // Theme template ------------------------------ 48 | @import "../template/theme"; 49 | // --------------------------------------------- -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/white.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * White theme for reveal.js. This is the opposite of the 'black' theme. 3 | * 4 | * By Hakim El Hattab, http://hakim.se 5 | */ 6 | 7 | 8 | // Default mixins and settings ----------------- 9 | @import "../template/mixins"; 10 | @import "../template/settings"; 11 | // --------------------------------------------- 12 | 13 | 14 | // Include theme-specific fonts 15 | @import url(fonts/source-sans-pro/source-sans-pro.css); 16 | 17 | 18 | // Override theme settings (see ../template/settings.scss) 19 | $backgroundColor: #fff; 20 | 21 | $mainColor: #222; 22 | $headingColor: #222; 23 | 24 | $mainFontSize: 42px; 25 | $mainFont: 'Source Sans Pro', Helvetica, sans-serif; 26 | $headingFont: 'Source Sans Pro', Helvetica, sans-serif; 27 | $headingTextShadow: none; 28 | $headingLetterSpacing: normal; 29 | $headingTextTransform: uppercase; 30 | $headingFontWeight: 600; 31 | $linkColor: #2a76dd; 32 | $linkColorHover: lighten( $linkColor, 15% ); 33 | $selectionBackgroundColor: lighten( $linkColor, 25% ); 34 | 35 | $heading1Size: 2.5em; 36 | $heading2Size: 1.6em; 37 | $heading3Size: 1.3em; 38 | $heading4Size: 1.0em; 39 | 40 | section.has-dark-background { 41 | &, h1, h2, h3, h4, h5, h6 { 42 | color: #fff; 43 | } 44 | } 45 | 46 | 47 | // Theme template ------------------------------ 48 | @import "../template/theme"; 49 | // --------------------------------------------- -------------------------------------------------------------------------------- /data/cape-town-surveys/cape-town-gravity-day-3.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,0.0,2537.29 3 | 37,18.55641,-33.84975,273917.01,6251816.84,58.58,47.0,2493.92 4 | 38,18.55667,-33.79944,273808.54,6257397.47,80.0,54.0,2484.02 5 | 39,18.56111,-33.94389,274599.99,6241385.69,36.0,71.0,2511.92 6 | 40,18.5625,-33.75471,274230.96,6262371.39,55.2,99.0,2484.42 7 | 41,18.56833,-33.88693,275117.71,6247719.23,51.4,116.0,2496.27 8 | 42,18.575,-33.67917,275192.06,6270776.96,191.5,149.0,2448.27 9 | 43,18.58221,-33.77361,276106.18,6260318.18,208.2,160.0,2449.13 10 | 44,18.58305,-33.71584,276033.75,6266727.36,138.8,167.0,2461.06 11 | 45,18.58472,-33.73528,276239.03,6264574.87,102.7,170.0,2469.96 12 | 46,18.58722,-33.81277,276672.01,6255985.74,268.0,179.0,2436.73 13 | 47,18.59805,-33.98666,278125.89,6236722.48,50.0,207.0,2505.12 14 | 48,18.60056,-33.68443,277575.68,6270248.94,72.0,250.0,2466.84 15 | 49,18.61028,-33.70667,278534.02,6267803.2,69.3,254.0,2468.12 16 | 50,18.61472,-33.86694,279357.36,6250037.0,234.9,276.0,2443.62 17 | 51,18.6161,-33.79639,279303.67,6257864.79,283.8,284.0,2424.35 18 | 52,18.61945,-33.7625,279527.0,6261630.73,94.8,289.0,2465.82 19 | 53,18.62193,-33.74278,279706.26,6263823.19,92.2,292.0,2463.63 20 | 54,18.62889,-33.8364,280590.27,6253454.58,252.7,305.0,2431.17 21 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,362.0,2522.81 22 | -------------------------------------------------------------------------------- /data/cape-town-surveys/cape-town-gravity-day-4.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,0.0,2536.56 3 | 55,18.63361,-33.72278,280737.58,6266066.29,75.3,75.0,2472.56 4 | 56,18.63556,-33.69028,280835.71,6269674.99,72.6,79.0,2469.64 5 | 57,18.63722,-33.80528,281281.98,6256923.88,188.3,96.0,2450.5 6 | 58,18.64166,-33.77278,281610.51,6260537.89,162.0,100.0,2456.26 7 | 59,18.64223,-33.86333,281893.45,6250496.13,191.1,114.0,2454.21 8 | 60,18.64555,-33.94057,282397.1,6241936.34,71.4,123.0,2492.58 9 | 61,18.65028,-33.66888,282146.42,6272079.59,117.9,161.0,2451.67 10 | 62,18.65668,-33.73444,282905.02,6264821.9,112.4,171.0,2459.47 11 | 63,18.65668,-33.98193,283530.84,6237372.57,52.7,202.0,2498.5 12 | 64,18.65694,-33.72,282892.73,6266423.98,83.8,232.0,2461.4 13 | 65,18.65944,-33.69722,283067.12,6268955.73,99.8,235.0,2455.65 14 | 66,18.66667,-33.78751,283964.02,6258956.95,147.6,245.0,2450.26 15 | 67,18.67389,-33.87473,284851.41,6249298.51,109.2,257.0,2464.63 16 | 68,18.68443,-33.82832,285710.55,6254467.87,153.0,263.0,2451.04 17 | 69,18.69611,-33.86333,286878.68,6250609.2,122.1,268.0,2458.98 18 | 70,18.70612,-33.67972,287351.4,6270993.76,100.9,288.0,2446.03 19 | 71,18.71861,-33.78833,288775.99,6258973.78,111.5,300.0,2453.6 20 | 72,18.73611,-33.73807,290274.09,6264583.74,108.0,307.0,2449.63 21 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,369.0,2518.11 22 | -------------------------------------------------------------------------------- /data/cape-town-surveys/cape-town-gravity-day-5.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,0.0,2560.34 3 | 73,18.7475,-33.99222,291947.29,6236419.51,113.2,48.0,2511.84 4 | 74,18.75694,-33.81194,292382.56,6256433.25,133.0,72.0,2487.06 5 | 75,18.75945,-33.8539,292716.3,6251784.63,179.4,77.0,2479.31 6 | 76,18.76723,-33.75999,293210.26,6262215.56,137.1,90.0,2482.65 7 | 77,18.76944,-33.96832,293916.47,6239114.6,177.1,115.0,2489.16 8 | 78,18.77917,-33.69528,294161.78,6269416.14,118.2,149.0,2480.86 9 | 79,18.78471,-33.67833,294635.02,6271307.01,134.1,151.0,2474.76 10 | 80,18.81416,-33.94057,297983.35,6242281.32,170.3,192.0,2484.96 11 | 81,18.81444,-33.80167,297681.57,6257686.79,205.9,209.0,2467.63 12 | 82,18.82388,-33.745,298422.84,6263990.27,191.0,216.0,2467.63 13 | 83,18.84444,-33.99194,300902.16,6236643.26,172.3,244.0,2487.17 14 | 84,18.85944,-33.86166,301986.45,6251121.16,250.4,266.0,2465.24 15 | 85,18.86555,-33.9525,302761.22,6241058.25,162.4,277.0,2487.98 16 | 86,18.87862,-33.68611,303360.1,6270627.01,183.2,307.0,2462.07 17 | 87,18.88222,-33.75389,303848.17,6263116.91,193.8,315.0,2463.85 18 | 88,18.89111,-33.92944,305070.98,6243664.61,199.2,342.0,2479.34 19 | 89,18.95612,-33.79388,310782.02,6258820.18,144.1,358.0,2474.6 20 | 90,18.97333,-33.85944,312518.77,6251580.97,169.4,366.0,2475.11 21 | 0,18.34444,-34.12971,255105.43,6220276.33,32.2,436.0,2551.62 22 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/simple.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * A simple theme for reveal.js presentations, similar 3 | * to the default theme. The accent color is darkblue. 4 | * 5 | * This theme is Copyright (C) 2012 Owen Versteeg, https://github.com/StereotypicalApps. It is MIT licensed. 6 | * reveal.js is Copyright (C) 2011-2012 Hakim El Hattab, http://hakim.se 7 | */ 8 | 9 | 10 | // Default mixins and settings ----------------- 11 | @import "../template/mixins"; 12 | @import "../template/settings"; 13 | // --------------------------------------------- 14 | 15 | 16 | 17 | // Include theme-specific fonts 18 | @import url(https://fonts.googleapis.com/css?family=News+Cycle:400,700); 19 | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); 20 | 21 | 22 | // Override theme settings (see ../template/settings.scss) 23 | $mainFont: 'Lato', sans-serif; 24 | $mainColor: #000; 25 | $headingFont: 'News Cycle', Impact, sans-serif; 26 | $headingColor: #000; 27 | $headingTextShadow: none; 28 | $headingTextTransform: none; 29 | $backgroundColor: #fff; 30 | $linkColor: #00008B; 31 | $linkColorHover: lighten( $linkColor, 20% ); 32 | $selectionBackgroundColor: rgba(0, 0, 0, 0.99); 33 | 34 | section.has-dark-background { 35 | &, h1, h2, h3, h4, h5, h6 { 36 | color: #fff; 37 | } 38 | } 39 | 40 | 41 | // Theme template ------------------------------ 42 | @import "../template/theme"; 43 | // --------------------------------------------- -------------------------------------------------------------------------------- /lectures/js/revealjs/css/layout.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Layout helpers. 3 | */ 4 | 5 | // Stretch an element vertically based on available space 6 | .reveal .stretch, 7 | .reveal .r-stretch { 8 | max-width: none; 9 | max-height: none; 10 | } 11 | 12 | .reveal pre.stretch code, 13 | .reveal pre.r-stretch code { 14 | height: 100%; 15 | max-height: 100%; 16 | box-sizing: border-box; 17 | } 18 | 19 | // Stack multiple elements on top of each other 20 | .reveal .r-stack { 21 | display: grid; 22 | } 23 | 24 | .reveal .r-stack > * { 25 | grid-area: 1/1; 26 | margin: auto; 27 | } 28 | 29 | // Horizontal and vertical stacks 30 | .reveal .r-vstack, 31 | .reveal .r-hstack { 32 | display: flex; 33 | } 34 | 35 | .reveal .r-vstack { 36 | flex-direction: column; 37 | align-items: center; 38 | justify-content: center; 39 | } 40 | 41 | .reveal .r-hstack { 42 | flex-direction: row; 43 | align-items: center; 44 | justify-content: center; 45 | } 46 | 47 | // Naming based on tailwindcss 48 | .reveal .items-stretch { align-items: stretch; } 49 | .reveal .items-start { align-items: flex-start; } 50 | .reveal .items-center { align-items: center; } 51 | .reveal .items-end { align-items: flex-end; } 52 | 53 | .reveal .justify-between { justify-content: space-between; } 54 | .reveal .justify-around { justify-content: space-around; } 55 | .reveal .justify-start { justify-content: flex-start; } 56 | .reveal .justify-center { justify-content: center; } 57 | .reveal .justify-end { justify-content: flex-end; } 58 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/moon.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Solarized Dark theme for reveal.js. 3 | * Author: Achim Staebler 4 | */ 5 | 6 | 7 | // Default mixins and settings ----------------- 8 | @import "../template/mixins"; 9 | @import "../template/settings"; 10 | // --------------------------------------------- 11 | 12 | 13 | 14 | // Include theme-specific fonts 15 | @import url(fonts/league-gothic/league-gothic.css); 16 | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); 17 | 18 | /** 19 | * Solarized colors by Ethan Schoonover 20 | */ 21 | html * { 22 | color-profile: sRGB; 23 | rendering-intent: auto; 24 | } 25 | 26 | // Solarized colors 27 | $base03: #002b36; 28 | $base02: #073642; 29 | $base01: #586e75; 30 | $base00: #657b83; 31 | $base0: #839496; 32 | $base1: #93a1a1; 33 | $base2: #eee8d5; 34 | $base3: #fdf6e3; 35 | $yellow: #b58900; 36 | $orange: #cb4b16; 37 | $red: #dc322f; 38 | $magenta: #d33682; 39 | $violet: #6c71c4; 40 | $blue: #268bd2; 41 | $cyan: #2aa198; 42 | $green: #859900; 43 | 44 | // Override theme settings (see ../template/settings.scss) 45 | $mainColor: $base1; 46 | $headingColor: $base2; 47 | $headingTextShadow: none; 48 | $backgroundColor: $base03; 49 | $linkColor: $blue; 50 | $linkColorHover: lighten( $linkColor, 20% ); 51 | $selectionBackgroundColor: $magenta; 52 | 53 | 54 | 55 | // Theme template ------------------------------ 56 | @import "../template/theme"; 57 | // --------------------------------------------- 58 | -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/media.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Video, Audio and Iframes 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 |
20 | 21 |
22 |

Examples of embedded Video, Audio and Iframes

23 |
24 | 25 |
26 |

Iframe

27 | 28 |
29 | 30 |
31 |

Iframe Background

32 |
33 | 34 |
35 |

Auto-playing audio

36 | 37 |
38 | 39 |
40 |

Audio with controls

41 | 42 |
43 | 44 |
45 | 46 |
47 | 48 | 49 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-15.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 301,30.12666,-24.07668,1430372.28,7306880.44,1084.0,0.0,1961.01 3 | 294,29.87583,-24.47197,1401830.58,7264425.3,907.0,45.0,2064.63 4 | 295,29.92999,-24.51167,1407074.24,7259635.25,1075.32,50.0,2003.57 5 | 296,29.98334,-24.87167,1409868.69,7219096.27,1016.5,83.0,2078.19 6 | 297,30.0325,-24.62117,1416735.54,7246725.07,1554.0,108.0,1944.49 7 | 298,30.06,-24.47833,1420598.48,7262485.16,848.86,123.0,2083.57 8 | 299,30.075,-24.42,1422561.63,7268895.91,766.87,128.0,2082.08 9 | 300,30.09833,-24.35834,1425401.85,7275622.45,707.13,134.0,2067.2 10 | 302,30.17084,-24.1925,1434047.93,7293649.25,1625.0,150.0,1863.76 11 | 303,30.21918,-24.01167,1440338.43,7313515.89,628.0,170.0,2072.39 12 | 304,30.32333,-24.47083,1447566.83,7261518.28,1378.0,221.0,1912.42 13 | 305,30.39999,-24.65167,1454013.9,7240781.89,962.24,239.0,2022.77 14 | 306,30.44167,-24.71249,1457797.27,7233693.0,1387.0,245.0,1946.73 15 | 307,30.46417,-24.43832,1462217.17,7264163.49,569.0,270.0,2079.41 16 | 308,30.50999,-24.86833,1463546.31,7215795.33,1517.0,307.0,1929.1 17 | 309,30.575,-24.85333,1470291.75,7217002.85,1220.41,312.0,1989.19 18 | 310,30.67667,-24.00999,1487306.65,7310523.65,487.37,387.0,2107.65 19 | 311,30.83,-24.15833,1501880.6,7292835.71,450.79,409.0,2131.6 20 | 312,30.84332,-24.93167,1497014.44,7206277.07,1440.17,486.0,1962.13 21 | 313,30.91167,-24.955,1503789.95,7203157.14,971.39,492.0,2059.15 22 | 301,30.12666,-24.07668,1430372.28,7306880.44,1084.0,594.0,1984.77 23 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-2.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 31,27.43333,-25.99001,1144726.82,7109516.68,1587.99,0.0,1959.11 3 | 21,27.25,-25.21667,1130376.64,7196373.38,1131.1,75.0,2056.9 4 | 22,27.27333,-25.77,1129825.43,7134756.48,1193.59,127.0,2047.54 5 | 23,27.285,-25.60333,1131884.49,7153227.02,1103.98,144.0,2083.12 6 | 24,27.30833,-25.56,1134465.95,7157931.52,1091.48,148.0,2087.26 7 | 25,27.32167,-25.49001,1136182.5,7165647.63,1074.41,155.0,2088.14 8 | 26,27.37666,-25.42833,1142060.29,7172238.98,1110.38,163.0,2073.34 9 | 27,27.395,-25.92833,1141212.03,7116563.5,1485.89,206.0,1994.51 10 | 28,27.40334,-25.895,1142232.15,7120227.78,1464.86,209.0,2002.38 11 | 29,27.41,-25.14,1146964.36,7204132.57,1053.68,283.0,2068.4 12 | 30,27.42,-25.505,1146023.29,7163504.33,1049.42,322.0,2111.92 13 | 32,27.45168,-25.00833,1151884.16,7218570.08,1022.59,364.0,2045.38 14 | 33,27.48167,-25.27081,1153514.06,7189240.05,1017.1,389.0,2086.18 15 | 34,27.48833,-25.72166,1151733.21,7139078.91,1189.93,431.0,2078.19 16 | 35,27.50471,-25.2513,1155949.0,7191296.18,1009.9,475.0,2079.98 17 | 36,27.52167,-25.05833,1158706.72,7212669.52,951.27,496.0,2076.62 18 | 37,27.53168,-25.315,1158329.86,7184080.21,1002.17,520.0,2098.46 19 | 38,27.55667,-25.36667,1160572.96,7178210.77,997.91,525.0,2101.55 20 | 39,27.57832,-25.25,1163399.88,7191076.59,973.83,536.0,2079.32 21 | 40,27.59833,-25.89667,1161832.63,7119066.14,1274.36,604.0,2051.59 22 | 41,27.63,-25.42,1167686.1,7171913.21,1024.42,647.0,2103.24 23 | 31,27.43333,-25.99001,1144726.82,7109516.68,1587.99,712.0,1987.59 24 | -------------------------------------------------------------------------------- /lectures/js/revealjs/README.md: -------------------------------------------------------------------------------- 1 |

2 | reveal.js 3 |

4 | 5 | Slides 6 |

7 | 8 | reveal.js is an open source HTML presentation framework. It enables anyone with a web browser to create fully featured and beautiful presentations for free. [Check out the live demo](https://revealjs.com/). 9 | 10 | The framework comes with a broad range of features including [nested slides](https://revealjs.com/vertical-slides/), [Markdown support](https://revealjs.com/markdown/), [Auto-Animate](https://revealjs.com/auto-animate/), [PDF export](https://revealjs.com/pdf-export/), [speaker notes](https://revealjs.com/speaker-view/), [LaTeX support](https://revealjs.com/math/), [syntax highlighted code](https://revealjs.com/code/) and much more. 11 | 12 |

13 | Get Started 14 |

15 | 16 | ## Documentation 17 | The full reveal.js documentation is available at [revealjs.com](https://revealjs.com). 18 | 19 | ## Online Editor 20 | Want to create your presentation using a visual editor? Try the official reveal.js presentation platform for free at [Slides.com](https://slides.com). It's made by the same people behind reveal.js. 21 | 22 | ## License 23 | 24 | MIT licensed 25 | 26 | Copyright (C) 2011-2020 Hakim El Hattab, https://hakim.se 27 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-7.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 141,30.01639,-25.97722,1404827.59,7095483.24,1650.7,0.0,2068.95 3 | 126,29.62862,-25.34029,1370395.02,7169178.76,1234.3,63.0,2125.6 4 | 127,29.64833,-25.29083,1372751.69,7174565.65,1179.5,68.0,2131.14 5 | 128,29.67612,-25.96472,1370608.36,7099216.75,1603.2,142.0,2132.96 6 | 129,29.70889,-25.64528,1376288.52,7134626.58,1663.0,171.0,2086.67 7 | 130,29.73639,-25.34583,1381278.88,7167846.65,1348.0,197.0,2121.32 8 | 131,29.76418,-25.35306,1384042.87,7166854.41,1401.2,199.0,2111.13 9 | 132,29.78082,-25.42889,1385169.33,7158283.03,1768.0,207.0,2047.93 10 | 133,29.80888,-25.87193,1384696.1,7108666.86,1695.6,252.0,2096.63 11 | 134,29.84444,-25.04195,1394479.42,7201028.48,935.5,322.0,2206.02 12 | 135,29.8539,-25.25639,1393856.89,7177037.2,1473.0,343.0,2096.01 13 | 136,29.86722,-25.10918,1396299.06,7193373.73,1080.0,357.0,2173.68 14 | 137,29.91528,-25.00166,1401979.38,7205048.45,931.6,367.0,2195.4 15 | 138,29.92889,-25.54028,1399331.64,7144849.28,1572.8,414.0,2069.06 16 | 139,29.95694,-25.94943,1399045.31,7098999.6,1705.5,449.0,2083.16 17 | 140,29.99417,-25.75778,1404277.6,7120127.06,1884.5,466.0,2019.39 18 | 142,30.05472,-25.70583,1410798.18,7125502.74,1921.5,473.0,2006.65 19 | 143,30.07111,-25.64528,1412923.01,7132146.25,1939.7,479.0,1999.53 20 | 144,30.1039,-25.81528,1414920.28,7112941.44,1803.0,497.0,2041.16 21 | 145,30.14861,-25.32306,1423256.95,7167572.4,2105.0,541.0,1951.32 22 | 146,30.17612,-25.15944,1427306.8,7185647.04,1758.0,557.0,2009.2 23 | 141,30.01639,-25.97722,1404827.59,7095483.24,1650.7,647.0,2088.36 24 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-11.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 212,27.71883,-24.24251,1183137.19,7302426.53,1211.0,0.0,2177.38 3 | 210,27.6936,-24.0466,1181610.2,7324340.48,1020.0,22.0,2201.52 4 | 211,27.7079,-24.97186,1178049.53,7221360.14,1052.1,109.0,2256.85 5 | 213,27.74223,-24.06337,1186487.63,7322236.7,994.0,207.0,2212.07 6 | 214,27.77333,-24.62666,1186596.17,7259426.18,968.04,269.0,2270.8 7 | 215,27.80667,-24.59167,1190179.67,7263150.17,1134.76,274.0,2206.15 8 | 216,27.82935,-24.12064,1195074.7,7315433.98,987.0,323.0,2219.18 9 | 217,27.86572,-24.18449,1198438.23,7308148.45,1015.0,329.0,2216.66 10 | 218,27.89709,-24.09709,1202120.81,7317713.79,1212.0,337.0,2174.01 11 | 219,27.92168,-24.52499,1202252.77,7269982.59,1242.05,375.0,2179.73 12 | 220,27.93501,-24.03156,1206355.32,7324812.91,1333.0,418.0,2148.67 13 | 221,27.95168,-24.785,1203834.83,7240899.81,1221.93,482.0,2206.03 14 | 222,27.9808,-24.13535,1210457.61,7313031.82,1140.0,545.0,2195.54 15 | 223,28.02444,-24.07071,1215275.83,7320000.8,1284.9,552.0,2166.39 16 | 224,28.09946,-24.22017,1222093.57,7302980.58,1157.8,567.0,2198.45 17 | 225,28.16199,-24.22298,1228459.48,7302340.27,1173.9,572.0,2197.33 18 | 226,28.21925,-24.01126,1235523.83,7325603.48,1233.0,595.0,2180.04 19 | 227,28.29385,-24.02519,1243071.09,7323657.54,1295.3,601.0,2170.91 20 | 228,28.41258,-24.03503,1255153.92,7321924.03,1284.9,611.0,2171.17 21 | 229,28.84206,-24.79675,1294254.23,7234665.25,1012.2,690.0,2245.11 22 | 230,28.01833,-24.24167,1213693.12,7301008.84,1202.73,785.0,2188.72 23 | 212,27.71883,-24.24251,1183137.19,7302426.53,1211.0,813.0,2193.64 24 | -------------------------------------------------------------------------------- /lectures/js/revealjs/dist/theme/fonts/source-sans-pro/source-sans-pro.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Source Sans Pro'; 3 | src: url('source-sans-pro-regular.eot'); 4 | src: url('source-sans-pro-regular.eot?#iefix') format('embedded-opentype'), 5 | url('source-sans-pro-regular.woff') format('woff'), 6 | url('source-sans-pro-regular.ttf') format('truetype'); 7 | font-weight: normal; 8 | font-style: normal; 9 | } 10 | 11 | @font-face { 12 | font-family: 'Source Sans Pro'; 13 | src: url('source-sans-pro-italic.eot'); 14 | src: url('source-sans-pro-italic.eot?#iefix') format('embedded-opentype'), 15 | url('source-sans-pro-italic.woff') format('woff'), 16 | url('source-sans-pro-italic.ttf') format('truetype'); 17 | font-weight: normal; 18 | font-style: italic; 19 | } 20 | 21 | @font-face { 22 | font-family: 'Source Sans Pro'; 23 | src: url('source-sans-pro-semibold.eot'); 24 | src: url('source-sans-pro-semibold.eot?#iefix') format('embedded-opentype'), 25 | url('source-sans-pro-semibold.woff') format('woff'), 26 | url('source-sans-pro-semibold.ttf') format('truetype'); 27 | font-weight: 600; 28 | font-style: normal; 29 | } 30 | 31 | @font-face { 32 | font-family: 'Source Sans Pro'; 33 | src: url('source-sans-pro-semibolditalic.eot'); 34 | src: url('source-sans-pro-semibolditalic.eot?#iefix') format('embedded-opentype'), 35 | url('source-sans-pro-semibolditalic.woff') format('woff'), 36 | url('source-sans-pro-semibolditalic.ttf') format('truetype'); 37 | font-weight: 600; 38 | font-style: italic; 39 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/plugin/math/math.esm.js: -------------------------------------------------------------------------------- 1 | function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(n){for(var r=1;r { 10 | * // reveal.js is ready 11 | * }); 12 | */ 13 | let Reveal = Deck; 14 | 15 | 16 | /** 17 | * The below is a thin shell that mimics the pre 4.0 18 | * reveal.js API and ensures backwards compatibility. 19 | * This API only allows for one Reveal instance per 20 | * page, whereas the new API above lets you run many 21 | * presentations on the same page. 22 | * 23 | * Reveal.initialize( { controls: false } ).then(() => { 24 | * // reveal.js is ready 25 | * }); 26 | */ 27 | 28 | let enqueuedAPICalls = []; 29 | 30 | Reveal.initialize = options => { 31 | 32 | // Create our singleton reveal.js instance 33 | Object.assign( Reveal, new Deck( document.querySelector( '.reveal' ), options ) ); 34 | 35 | // Invoke any enqueued API calls 36 | enqueuedAPICalls.map( method => method( Reveal ) ); 37 | 38 | return Reveal.initialize(); 39 | 40 | } 41 | 42 | /** 43 | * The pre 4.0 API let you add event listener before 44 | * initializing. We maintain the same behavior by 45 | * queuing up premature API calls and invoking all 46 | * of them when Reveal.initialize is called. 47 | */ 48 | [ 'on', 'off', 'addEventListener', 'removeEventListener', 'registerPlugin' ].forEach( method => { 49 | Reveal[method] = ( ...args ) => { 50 | enqueuedAPICalls.push( deck => deck[method].call( null, ...args ) ); 51 | } 52 | } ); 53 | 54 | Reveal.VERSION = VERSION; 55 | 56 | export default Reveal; -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-13.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 301,30.12666,-24.07668,1430372.28,7306880.44,1084.0,0.0,1977.66 3 | 252,28.89702,-24.04182,1304667.33,7318454.43,1052.7,124.0,2029.76 4 | 253,28.90508,-24.46939,1302774.37,7270766.99,1068.8,170.0,2033.47 5 | 254,28.93227,-24.22745,1307096.01,7297565.59,1522.0,194.0,1999.54 6 | 255,28.95132,-24.04062,1310231.67,7318273.02,1159.9,212.0,2004.29 7 | 256,28.96808,-24.32858,1310106.65,7286086.62,1083.0,239.0,2077.71 8 | 257,28.98926,-24.25143,1312765.68,7294559.09,1073.1,247.0,2082.46 9 | 258,29.03,-24.42667,1315792.75,7274789.12,1046.06,266.0,2034.06 10 | 259,29.05646,-24.09496,1320642.93,7311600.23,1217.3,302.0,1978.82 11 | 260,29.08624,-24.86584,1318631.25,7225507.99,937.6,369.0,2057.92 12 | 261,29.11166,-24.375,1324464.53,7280059.46,1080.81,415.0,2023.21 13 | 262,29.12505,-24.14848,1327312.85,7305227.34,1309.9,438.0,1976.42 14 | 263,29.145,-24.76167,1325303.41,7236760.2,920.18,492.0,2072.27 15 | 264,29.17368,-24.89845,1327302.67,7221339.11,907.4,504.0,2076.16 16 | 265,29.19148,-24.13628,1334187.77,7306188.81,1430.5,577.0,1958.86 17 | 266,29.21484,-24.92857,1331283.02,7217727.97,866.2,647.0,2104.53 18 | 267,29.22833,-24.31833,1336753.24,7285671.14,1129.58,700.0,2003.22 19 | 268,29.24742,-24.95706,1334400.49,7214350.16,890.8,763.0,2121.54 20 | 269,29.26334,-24.46167,1339371.4,7269477.34,945.79,818.0,2052.11 21 | 270,29.28667,-24.53667,1341247.07,7260972.34,905.86,825.0,2068.33 22 | 271,29.29362,-24.18449,1344317.0,7300194.58,1279.7,861.0,1981.35 23 | 272,29.3,-24.94833,1339804.03,7214995.5,878.43,941.0,2136.55 24 | 301,30.12666,-24.07668,1430372.28,7306880.44,1084.0,1062.0,2009.52 25 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-6.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 141,30.01639,-25.97722,1404827.59,7095483.24,1650.7,0.0,1959.06 3 | 105,29.045,-25.70528,1308790.67,7132217.18,1436.0,93.0,1973.54 4 | 106,29.06361,-25.47139,1312264.23,7158164.43,1499.6,116.0,1927.94 5 | 107,29.07556,-25.20557,1315271.91,7187712.85,1053.7,143.0,2008.59 6 | 108,29.1039,-25.58583,1315557.2,7145162.41,1200.1,177.0,1990.87 7 | 109,29.13972,-25.71584,1318280.16,7130450.56,1413.3,192.0,1981.29 8 | 110,29.15833,-25.15833,1323985.25,7192468.15,1014.8,247.0,2016.88 9 | 111,29.18944,-25.92751,1321820.88,7106547.64,1545.3,323.0,1993.77 10 | 112,29.21222,-25.42612,1327611.42,7162285.54,1447.6,373.0,1954.9 11 | 113,29.24139,-25.30806,1331380.64,7175261.86,1075.2,384.0,2025.65 12 | 114,29.28972,-25.2114,1336947.78,7185732.98,946.2,395.0,2041.11 13 | 115,29.32973,-25.27556,1340558.83,7178327.73,1060.7,401.0,2037.99 14 | 116,29.35806,-25.81583,1339614.22,7117916.79,1504.9,455.0,1998.8 15 | 117,29.38693,-25.09193,1347641.79,7198437.76,951.9,516.0,2044.1 16 | 118,29.40028,-25.47639,1346293.39,7155487.36,1280.5,549.0,2007.39 17 | 119,29.44278,-25.37582,1351309.39,7166427.04,1006.8,560.0,2063.94 18 | 120,29.46388,-25.73334,1350887.64,7126426.62,1481.1,596.0,2006.95 19 | 121,29.47694,-25.92027,1350853.16,7105498.72,1601.9,613.0,2003.71 20 | 122,29.50444,-25.05444,1359838.99,7201867.17,1294.0,698.0,1989.41 21 | 123,29.53471,-25.43639,1360187.46,7159076.66,1105.0,739.0,2053.41 22 | 124,29.56029,-25.65222,1361215.3,7134840.07,1559.3,761.0,1992.97 23 | 125,29.59639,-25.19611,1368166.06,7185471.22,1084.6,809.0,2055.3 24 | 141,30.01639,-25.97722,1404827.59,7095483.24,1650.7,894.0,1976.94 25 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-8.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 141,30.01639,-25.97722,1404827.59,7095483.24,1650.7,0.0,2137.04 3 | 147,30.21693,-25.30833,1430303.61,7168737.61,1896.0,60.0,2041.9 4 | 148,30.23582,-25.71832,1429014.43,7122829.29,1594.3,105.0,2124.6 5 | 149,30.245,-25.17307,1434200.92,7183642.53,1767.0,153.0,2056.73 6 | 150,30.26582,-25.92278,1430426.29,7099787.33,1471.0,219.0,2151.99 7 | 151,30.28722,-25.645,1434793.23,7130647.96,1496.3,242.0,2137.85 8 | 152,30.29778,-25.51917,1436855.38,7144622.45,1676.5,255.0,2101.37 9 | 153,30.34862,-25.44194,1442617.68,7152882.56,1317.0,265.0,2167.39 10 | 154,30.38055,-25.02444,1449139.65,7199281.92,1481.7,305.0,2092.35 11 | 155,30.40138,-25.37971,1448461.55,7159453.23,1150.4,335.0,2195.94 12 | 156,30.41,-25.81528,1445852.63,7110745.75,1251.6,372.0,2195.23 13 | 157,30.45944,-25.22833,1455557.08,7175942.92,1441.5,431.0,2107.19 14 | 158,30.48111,-25.60806,1454718.05,7133370.01,1088.0,469.0,2219.23 15 | 159,30.50583,-25.90668,1454794.26,7099834.04,1893.5,494.0,2076.27 16 | 160,30.565,-25.39333,1464955.32,7156742.69,949.75,539.0,2242.34 17 | 161,30.63333,-25.58667,1470311.78,7134637.7,925.67,556.0,2246.66 18 | 162,30.705,-25.84833,1475404.04,7104865.65,1115.56,580.0,2207.75 19 | 163,30.76666,-25.59167,1483781.37,7133081.37,1634.63,605.0,2105.02 20 | 164,30.78168,-25.82832,1483325.36,7106521.27,1371.59,630.0,2180.81 21 | 165,30.845,-25.35333,1493709.85,7159129.09,996.38,676.0,2198.34 22 | 166,30.91333,-25.44501,1499882.11,7148362.33,680.61,688.0,2265.71 23 | 167,30.97333,-25.58333,1504801.07,7132439.15,981.45,701.0,2231.76 24 | 141,30.01639,-25.97722,1404827.59,7095483.24,1650.7,787.0,2152.78 25 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-9.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 212,27.71883,-24.24251,1183137.19,7302426.53,1211.0,0.0,2011.05 3 | 168,30.995,-25.375,1508764.43,7155564.9,834.23,299.0,2142.17 4 | 169,26.55809,-24.52959,1063564.84,7275766.04,914.0,711.0,2095.44 5 | 170,26.59583,-24.84729,1065955.37,7240323.46,1045.0,740.0,2082.7 6 | 171,26.65477,-24.95258,1071441.44,7228380.81,1021.0,751.0,2094.63 7 | 172,26.72694,-24.92503,1078879.64,7231133.98,1062.0,758.0,2079.55 8 | 173,26.78526,-24.65182,1086076.96,7261235.1,988.0,784.0,2091.43 9 | 174,26.83665,-24.10861,1093841.54,7321364.91,892.4,834.0,2063.35 10 | 175,26.89397,-24.93665,1095745.0,7229117.18,1119.0,920.0,2077.04 11 | 176,26.91644,-24.99652,1097730.44,7222365.68,1064.0,926.0,2099.06 12 | 177,26.94885,-24.69603,1102474.36,7255610.66,1024.0,958.0,2088.82 13 | 178,26.96692,-24.11427,1107100.63,7320174.97,897.0,1009.0,2066.78 14 | 179,26.99442,-24.99936,1105613.15,7221701.98,1036.0,1099.0,2114.89 15 | 180,27.01822,-24.13608,1112228.5,7317526.9,911.0,1181.0,2070.65 16 | 181,27.03168,-24.755,1110593.57,7248688.85,1106.11,1237.0,2086.57 17 | 182,27.04668,-24.675,1112509.48,7257511.71,1031.74,1245.0,2094.17 18 | 183,27.07841,-24.03625,1118849.09,7328355.46,930.0,1306.0,2075.1 19 | 184,27.12167,-24.29333,1122010.16,7299591.37,934.81,1334.0,2070.08 20 | 185,27.14,-24.32668,1123713.22,7295802.26,924.75,1337.0,2076.44 21 | 186,27.18318,-24.03487,1129550.24,7328040.93,923.62,1366.0,2082.1 22 | 187,27.20551,-24.17311,1131147.42,7312574.52,959.0,1379.0,2065.46 23 | 188,27.25504,-24.97021,1132159.78,7223745.08,1012.66,1462.0,2181.85 24 | 212,27.71883,-24.24251,1183137.19,7302426.53,1211.0,1539.0,2057.22 25 | -------------------------------------------------------------------------------- /lectures/css/fontawesome/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Font Awesome Free License 2 | ------------------------- 3 | 4 | Font Awesome Free is free, open source, and GPL friendly. You can use it for 5 | commercial projects, open source projects, or really almost whatever you want. 6 | Full Font Awesome Free license: https://fontawesome.com/license/free. 7 | 8 | # Icons: CC BY 4.0 License (https://creativecommons.org/licenses/by/4.0/) 9 | In the Font Awesome Free download, the CC BY 4.0 license applies to all icons 10 | packaged as SVG and JS file types. 11 | 12 | # Fonts: SIL OFL 1.1 License (https://scripts.sil.org/OFL) 13 | In the Font Awesome Free download, the SIL OFL license applies to all icons 14 | packaged as web and desktop font files. 15 | 16 | # Code: MIT License (https://opensource.org/licenses/MIT) 17 | In the Font Awesome Free download, the MIT license applies to all non-font and 18 | non-icon files. 19 | 20 | # Attribution 21 | Attribution is required by MIT, SIL OFL, and CC BY licenses. Downloaded Font 22 | Awesome Free files already contain embedded comments with sufficient 23 | attribution, so you shouldn't need to do anything additional when using these 24 | files normally. 25 | 26 | We've kept attribution comments terse, so we ask that you do not actively work 27 | to remove them from files, especially code. They're a great way for folks to 28 | learn about Font Awesome. 29 | 30 | # Brand Icons 31 | All brand icons are trademarks of their respective owners. The use of these 32 | trademarks does not indicate endorsement of the trademark holder by Font 33 | Awesome, nor vice versa. **Please do not use brand logos for any purpose except 34 | to represent the company, product, or service to which they refer.** 35 | -------------------------------------------------------------------------------- /data/bushveld-surveys/data/bushveld-gravity-day-12.csv: -------------------------------------------------------------------------------- 1 | station_id,longitude,latitude,easting,northing,elevation,time_minutes,reading 2 | 212,27.71883,-24.24251,1183137.19,7302426.53,1211.0,0.0,1782.29 3 | 231,28.105,-24.42332,1221498.3,7280343.92,1194.5,36.0,1796.55 4 | 232,28.15167,-24.94167,1223231.01,7222410.57,1112.2,82.0,1846.78 5 | 233,28.25667,-24.89833,1234144.82,7226666.54,1117.08,91.0,1844.64 6 | 234,28.325,-24.28667,1244724.81,7294382.35,1417.92,159.0,1750.68 7 | 235,28.35333,-24.75333,1244833.09,7242278.49,1182.61,199.0,1819.71 8 | 236,28.40334,-24.69667,1250259.93,7248310.81,1155.79,206.0,1826.53 9 | 237,28.47667,-24.94501,1256195.34,7220253.19,1071.06,233.0,1855.23 10 | 238,28.52333,-24.29832,1264894.56,7292000.19,1495.64,291.0,1741.17 11 | 239,28.55333,-24.32333,1267804.35,7289048.34,1355.43,294.0,1765.69 12 | 240,28.59167,-24.645,1269737.9,7253011.38,1165.54,322.0,1825.66 13 | 241,28.63367,-24.09125,1277423.62,7314446.05,1302.7,376.0,1784.97 14 | 242,28.66875,-24.0444,1281297.09,7319467.64,1076.4,381.0,1837.21 15 | 243,28.71001,-24.28333,1284042.67,7292621.28,1254.55,401.0,1805.25 16 | 244,28.73746,-24.09438,1288017.28,7313512.72,1092.7,420.0,1850.62 17 | 245,28.74667,-24.55167,1286104.74,7262521.37,1076.85,469.0,1842.86 18 | 246,28.76573,-24.19902,1290257.89,7301695.27,1130.3,501.0,1855.46 19 | 247,28.79738,-24.13232,1293908.53,7308944.76,1295.3,507.0,1826.84 20 | 248,28.8114,-24.3123,1294213.29,7288813.58,1387.0,524.0,1795.52 21 | 249,28.82993,-24.40759,1295502.9,7278090.57,1097.3,533.0,1847.58 22 | 250,28.85333,-24.72333,1295872.88,7242778.44,1029.6,566.0,1857.66 23 | 251,28.87572,-24.01022,1302686.07,7322098.32,1057.2,626.0,1846.15 24 | 212,27.71883,-24.24251,1183137.19,7302426.53,1211.0,719.0,1818.24 25 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/solarized.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Solarized Light theme for reveal.js. 3 | * Author: Achim Staebler 4 | */ 5 | 6 | 7 | // Default mixins and settings ----------------- 8 | @import "../template/mixins"; 9 | @import "../template/settings"; 10 | // --------------------------------------------- 11 | 12 | 13 | 14 | // Include theme-specific fonts 15 | @import url(fonts/league-gothic/league-gothic.css); 16 | @import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic); 17 | 18 | 19 | /** 20 | * Solarized colors by Ethan Schoonover 21 | */ 22 | html * { 23 | color-profile: sRGB; 24 | rendering-intent: auto; 25 | } 26 | 27 | // Solarized colors 28 | $base03: #002b36; 29 | $base02: #073642; 30 | $base01: #586e75; 31 | $base00: #657b83; 32 | $base0: #839496; 33 | $base1: #93a1a1; 34 | $base2: #eee8d5; 35 | $base3: #fdf6e3; 36 | $yellow: #b58900; 37 | $orange: #cb4b16; 38 | $red: #dc322f; 39 | $magenta: #d33682; 40 | $violet: #6c71c4; 41 | $blue: #268bd2; 42 | $cyan: #2aa198; 43 | $green: #859900; 44 | 45 | // Override theme settings (see ../template/settings.scss) 46 | $mainColor: $base00; 47 | $headingColor: $base01; 48 | $headingTextShadow: none; 49 | $backgroundColor: $base3; 50 | $linkColor: $blue; 51 | $linkColorHover: lighten( $linkColor, 20% ); 52 | $selectionBackgroundColor: $magenta; 53 | 54 | // Background generator 55 | // @mixin bodyBackground() { 56 | // @include radial-gradient( rgba($base3,1), rgba(lighten($base3, 20%),1) ); 57 | // } 58 | 59 | 60 | 61 | // Theme template ------------------------------ 62 | @import "../template/theme"; 63 | // --------------------------------------------- 64 | -------------------------------------------------------------------------------- /data/cape-granite-surveys/README.txt: -------------------------------------------------------------------------------- 1 | # Cape Granite Suite Gravity Surveys 2 | 3 | This archive contains gravity readings for a ground-based survey 4 | of the Cape Granite Suite in South Africa. The survey was conducted 5 | over 9 days using the same gravimeter (L&R Model G). 6 | 7 | ## Survey information 8 | 9 | Gravimeter: All surveys were carried out with the same gravimeter. 10 | The file gravimeter-scaling.csv contains the scaling table for this 11 | particular instrument. 12 | 13 | Coordinates: Longitude and latitude are referenced to the WGS84 14 | ellipsoid. Easting and northing are UTM Zone 36 projected 15 | coordinates in meters. Elevation is geometric height above the 16 | WGS84 ellipsoid in meters. 17 | 18 | Base stations: Each individual survey was tied to the closest base 19 | station available. All surveys begin and end at the base station. 20 | The time elapsed since the first reading at the base station is 21 | recorded in minutes. The absolute gravity values at each base 22 | station are provided in the bushveld-gravity-base-stations.csv file. 23 | 24 | ## Contents 25 | 26 | cape-granite-surveys 27 | ├── cape-granite-gravity-base-stations.csv 28 | ├── data 29 | │ ├── cape-granite-gravity-day-1.csv 30 | │ ├── cape-granite-gravity-day-2.csv 31 | │ ├── cape-granite-gravity-day-3.csv 32 | │ ├── cape-granite-gravity-day-4.csv 33 | │ ├── cape-granite-gravity-day-5.csv 34 | │ ├── cape-granite-gravity-day-6.csv 35 | │ ├── cape-granite-gravity-day-7.csv 36 | │ ├── cape-granite-gravity-day-8.csv 37 | │ └── cape-granite-gravity-day-9.csv 38 | ├── gravimeter-scaling.csv 39 | └── README.txt 40 | 41 | ## License 42 | 43 | This dataset is made available under the Creative Commons 44 | Attribution International 4.0 License. -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/template/mixins.scss: -------------------------------------------------------------------------------- 1 | @mixin vertical-gradient( $top, $bottom ) { 2 | background: $top; 3 | background: -moz-linear-gradient( top, $top 0%, $bottom 100% ); 4 | background: -webkit-gradient( linear, left top, left bottom, color-stop(0%,$top), color-stop(100%,$bottom) ); 5 | background: -webkit-linear-gradient( top, $top 0%, $bottom 100% ); 6 | background: -o-linear-gradient( top, $top 0%, $bottom 100% ); 7 | background: -ms-linear-gradient( top, $top 0%, $bottom 100% ); 8 | background: linear-gradient( top, $top 0%, $bottom 100% ); 9 | } 10 | 11 | @mixin horizontal-gradient( $top, $bottom ) { 12 | background: $top; 13 | background: -moz-linear-gradient( left, $top 0%, $bottom 100% ); 14 | background: -webkit-gradient( linear, left top, right top, color-stop(0%,$top), color-stop(100%,$bottom) ); 15 | background: -webkit-linear-gradient( left, $top 0%, $bottom 100% ); 16 | background: -o-linear-gradient( left, $top 0%, $bottom 100% ); 17 | background: -ms-linear-gradient( left, $top 0%, $bottom 100% ); 18 | background: linear-gradient( left, $top 0%, $bottom 100% ); 19 | } 20 | 21 | @mixin radial-gradient( $outer, $inner, $type: circle ) { 22 | background: $outer; 23 | background: -moz-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); 24 | background: -webkit-gradient( radial, center center, 0px, center center, 100%, color-stop(0%,$inner), color-stop(100%,$outer) ); 25 | background: -webkit-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); 26 | background: -o-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); 27 | background: -ms-radial-gradient( center, $type cover, $inner 0%, $outer 100% ); 28 | background: radial-gradient( center, $type cover, $inner 0%, $outer 100% ); 29 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/plugin/math/math.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).RevealMath=t()}(this,(function(){"use strict";function e(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function n(n){for(var r=1;r { 17 | 18 | let hex3 = color.match( /^#([0-9a-f]{3})$/i ); 19 | if( hex3 && hex3[1] ) { 20 | hex3 = hex3[1]; 21 | return { 22 | r: parseInt( hex3.charAt( 0 ), 16 ) * 0x11, 23 | g: parseInt( hex3.charAt( 1 ), 16 ) * 0x11, 24 | b: parseInt( hex3.charAt( 2 ), 16 ) * 0x11 25 | }; 26 | } 27 | 28 | let hex6 = color.match( /^#([0-9a-f]{6})$/i ); 29 | if( hex6 && hex6[1] ) { 30 | hex6 = hex6[1]; 31 | return { 32 | r: parseInt( hex6.substr( 0, 2 ), 16 ), 33 | g: parseInt( hex6.substr( 2, 2 ), 16 ), 34 | b: parseInt( hex6.substr( 4, 2 ), 16 ) 35 | }; 36 | } 37 | 38 | let rgb = color.match( /^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i ); 39 | if( rgb ) { 40 | return { 41 | r: parseInt( rgb[1], 10 ), 42 | g: parseInt( rgb[2], 10 ), 43 | b: parseInt( rgb[3], 10 ) 44 | }; 45 | } 46 | 47 | let rgba = color.match( /^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i ); 48 | if( rgba ) { 49 | return { 50 | r: parseInt( rgba[1], 10 ), 51 | g: parseInt( rgba[2], 10 ), 52 | b: parseInt( rgba[3], 10 ), 53 | a: parseFloat( rgba[4] ) 54 | }; 55 | } 56 | 57 | return null; 58 | 59 | } 60 | 61 | /** 62 | * Calculates brightness on a scale of 0-255. 63 | * 64 | * @param {string} color See colorToRgb for supported formats. 65 | * @see {@link colorToRgb} 66 | */ 67 | export const colorBrightness = ( color ) => { 68 | 69 | if( typeof color === 'string' ) color = colorToRgb( color ); 70 | 71 | if( color ) { 72 | return ( color.r * 299 + color.g * 587 + color.b * 114 ) / 1000; 73 | } 74 | 75 | return null; 76 | 77 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/test/test-grid-navigation.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Test Grid 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 | 40 | 41 | 42 | 69 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /lectures/js/revealjs/css/theme/source/blood.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Blood theme for reveal.js 3 | * Author: Walther http://github.com/Walther 4 | * 5 | * Designed to be used with highlight.js theme 6 | * "monokai_sublime.css" available from 7 | * https://github.com/isagalaev/highlight.js/ 8 | * 9 | * For other themes, change $codeBackground accordingly. 10 | * 11 | */ 12 | 13 | // Default mixins and settings ----------------- 14 | @import "../template/mixins"; 15 | @import "../template/settings"; 16 | // --------------------------------------------- 17 | 18 | // Include theme-specific fonts 19 | 20 | @import url(https://fonts.googleapis.com/css?family=Ubuntu:300,700,300italic,700italic); 21 | 22 | // Colors used in the theme 23 | $blood: #a23; 24 | $coal: #222; 25 | $codeBackground: #23241f; 26 | 27 | $backgroundColor: $coal; 28 | 29 | // Main text 30 | $mainFont: Ubuntu, 'sans-serif'; 31 | $mainColor: #eee; 32 | 33 | // Headings 34 | $headingFont: Ubuntu, 'sans-serif'; 35 | $headingTextShadow: 2px 2px 2px $coal; 36 | 37 | // h1 shadow, borrowed humbly from 38 | // (c) Default theme by Hakim El Hattab 39 | $heading1TextShadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 20px 20px rgba(0,0,0,.15); 40 | 41 | // Links 42 | $linkColor: $blood; 43 | $linkColorHover: lighten( $linkColor, 20% ); 44 | 45 | // Text selection 46 | $selectionBackgroundColor: $blood; 47 | $selectionColor: #fff; 48 | 49 | 50 | // Theme template ------------------------------ 51 | @import "../template/theme"; 52 | // --------------------------------------------- 53 | 54 | // some overrides after theme template import 55 | 56 | .reveal p { 57 | font-weight: 300; 58 | text-shadow: 1px 1px $coal; 59 | } 60 | 61 | .reveal h1, 62 | .reveal h2, 63 | .reveal h3, 64 | .reveal h4, 65 | .reveal h5, 66 | .reveal h6 { 67 | font-weight: 700; 68 | } 69 | 70 | .reveal p code { 71 | background-color: $codeBackground; 72 | display: inline-block; 73 | border-radius: 7px; 74 | } 75 | 76 | .reveal small code { 77 | vertical-align: baseline; 78 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/js/controllers/focus.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Manages focus when a presentation is embedded. This 3 | * helps us only capture keyboard from the presentation 4 | * a user is currently interacting with in a page where 5 | * multiple presentations are embedded. 6 | */ 7 | 8 | const STATE_FOCUS = 'focus'; 9 | const STATE_BLUR = 'blur'; 10 | 11 | export default class Focus { 12 | 13 | constructor( Reveal ) { 14 | 15 | this.Reveal = Reveal; 16 | 17 | this.onRevealPointerDown = this.onRevealPointerDown.bind( this ); 18 | this.onDocumentPointerDown = this.onDocumentPointerDown.bind( this ); 19 | 20 | } 21 | 22 | /** 23 | * Called when the reveal.js config is updated. 24 | */ 25 | configure( config, oldConfig ) { 26 | 27 | if( config.embedded ) { 28 | this.blur(); 29 | } 30 | else { 31 | this.focus(); 32 | this.unbind(); 33 | } 34 | 35 | } 36 | 37 | bind() { 38 | 39 | if( this.Reveal.getConfig().embedded ) { 40 | this.Reveal.getRevealElement().addEventListener( 'pointerdown', this.onRevealPointerDown, false ); 41 | } 42 | 43 | } 44 | 45 | unbind() { 46 | 47 | this.Reveal.getRevealElement().removeEventListener( 'pointerdown', this.onRevealPointerDown, false ); 48 | document.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false ); 49 | 50 | } 51 | 52 | focus() { 53 | 54 | if( this.state !== STATE_FOCUS ) { 55 | this.Reveal.getRevealElement().classList.add( 'focused' ); 56 | document.addEventListener( 'pointerdown', this.onDocumentPointerDown, false ); 57 | } 58 | 59 | this.state = STATE_FOCUS; 60 | 61 | } 62 | 63 | blur() { 64 | 65 | if( this.state !== STATE_BLUR ) { 66 | this.Reveal.getRevealElement().classList.remove( 'focused' ); 67 | document.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false ); 68 | } 69 | 70 | this.state = STATE_BLUR; 71 | 72 | } 73 | 74 | isFocused() { 75 | 76 | return this.state === STATE_FOCUS; 77 | 78 | } 79 | 80 | onRevealPointerDown( event ) { 81 | 82 | this.focus(); 83 | 84 | } 85 | 86 | onDocumentPointerDown( event ) { 87 | 88 | let revealElement = event.target.closest( '.reveal' ); 89 | if( !revealElement || revealElement !== this.Reveal.getRevealElement() ) { 90 | this.blur(); 91 | } 92 | 93 | } 94 | 95 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/test/test-dependencies-async.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Test Async Dependencies 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 | 28 | 29 | 30 | 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /lectures/js/revealjs/test/test-pdf.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Test PDF exports 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 | 75 | 76 | 77 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /lectures/js/revealjs/js/controllers/progress.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Creates a visual progress bar for the presentation. 3 | */ 4 | export default class Progress { 5 | 6 | constructor( Reveal ) { 7 | 8 | this.Reveal = Reveal; 9 | 10 | this.onProgressClicked = this.onProgressClicked.bind( this ); 11 | 12 | } 13 | 14 | render() { 15 | 16 | this.element = document.createElement( 'div' ); 17 | this.element.className = 'progress'; 18 | this.Reveal.getRevealElement().appendChild( this.element ); 19 | 20 | this.bar = document.createElement( 'span' ); 21 | this.element.appendChild( this.bar ); 22 | 23 | } 24 | 25 | /** 26 | * Called when the reveal.js config is updated. 27 | */ 28 | configure( config, oldConfig ) { 29 | 30 | this.element.style.display = config.progress ? 'block' : 'none'; 31 | 32 | } 33 | 34 | bind() { 35 | 36 | if( this.Reveal.getConfig().progress && this.element ) { 37 | this.element.addEventListener( 'click', this.onProgressClicked, false ); 38 | } 39 | 40 | } 41 | 42 | unbind() { 43 | 44 | if ( this.Reveal.getConfig().progress && this.element ) { 45 | this.element.removeEventListener( 'click', this.onProgressClicked, false ); 46 | } 47 | 48 | } 49 | 50 | /** 51 | * Updates the progress bar to reflect the current slide. 52 | */ 53 | update() { 54 | 55 | // Update progress if enabled 56 | if( this.Reveal.getConfig().progress && this.bar ) { 57 | 58 | this.bar.style.transform = 'scaleX('+ this.Reveal.getProgress() +')'; 59 | 60 | } 61 | 62 | } 63 | 64 | getMaxWidth() { 65 | 66 | return this.Reveal.getRevealElement().offsetWidth; 67 | 68 | } 69 | 70 | /** 71 | * Clicking on the progress bar results in a navigation to the 72 | * closest approximate horizontal slide using this equation: 73 | * 74 | * ( clickX / presentationWidth ) * numberOfSlides 75 | * 76 | * @param {object} event 77 | */ 78 | onProgressClicked( event ) { 79 | 80 | this.Reveal.onUserInput( event ); 81 | 82 | event.preventDefault(); 83 | 84 | let slidesTotal = this.Reveal.getHorizontalSlides().length; 85 | let slideIndex = Math.floor( ( event.clientX / this.getMaxWidth() ) * slidesTotal ); 86 | 87 | if( this.Reveal.getConfig().rtl ) { 88 | slideIndex = slidesTotal - slideIndex; 89 | } 90 | 91 | this.Reveal.slide( slideIndex ); 92 | 93 | } 94 | 95 | 96 | } -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/slide-transitions.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Slide Transitions 8 | 9 | 10 | 11 | 21 | 22 | 23 | 24 | 25 |
26 | 27 |
28 | 29 |
30 |

Default

31 |
32 | 33 |
34 |

Default

35 |
36 | 37 |
38 |

data-transition: zoom

39 |
40 | 41 |
42 |

data-transition: zoom-in fade-out

43 |
44 | 45 |
46 |

Default

47 |
48 | 49 |
50 |

data-transition: convex

51 |
52 | 53 |
54 |

data-transition: convex-in concave-out

55 |
56 | 57 |
58 |
59 |

Default

60 |
61 |
62 |

data-transition: concave

63 |
64 |
65 |

data-transition: convex-in fade-out

66 |
67 |
68 |

Default

69 |
70 |
71 | 72 |
73 |

data-transition: none

74 |
75 | 76 |
77 |

Default

78 |
79 | 80 |
81 | 82 |
83 | 84 | 85 | 95 | 96 | 97 | 98 | -------------------------------------------------------------------------------- /lectures/js/revealjs/test/test-multiple-instances-es5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Test Iframes 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 | 27 |
28 | 29 |
30 | 37 |
38 | 39 | 40 | 41 | 83 | 84 | 85 | 86 | -------------------------------------------------------------------------------- /lectures/js/revealjs/plugin/math/plugin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A plugin which enables rendering of math equations inside 3 | * of reveal.js slides. Essentially a thin wrapper for MathJax. 4 | * 5 | * @author Hakim El Hattab 6 | */ 7 | const Plugin = () => { 8 | 9 | // The reveal.js instance this plugin is attached to 10 | let deck; 11 | 12 | let defaultOptions = { 13 | messageStyle: 'none', 14 | tex2jax: { 15 | inlineMath: [ [ '$', '$' ], [ '\\(', '\\)' ] ], 16 | skipTags: [ 'script', 'noscript', 'style', 'textarea', 'pre' ] 17 | }, 18 | skipStartupTypeset: true 19 | }; 20 | 21 | function loadScript( url, callback ) { 22 | 23 | let head = document.querySelector( 'head' ); 24 | let script = document.createElement( 'script' ); 25 | script.type = 'text/javascript'; 26 | script.src = url; 27 | 28 | // Wrapper for callback to make sure it only fires once 29 | let finish = () => { 30 | if( typeof callback === 'function' ) { 31 | callback.call(); 32 | callback = null; 33 | } 34 | } 35 | 36 | script.onload = finish; 37 | 38 | // IE 39 | script.onreadystatechange = () => { 40 | if ( this.readyState === 'loaded' ) { 41 | finish(); 42 | } 43 | } 44 | 45 | // Normal browsers 46 | head.appendChild( script ); 47 | 48 | } 49 | 50 | return { 51 | id: 'math', 52 | 53 | init: function( reveal ) { 54 | 55 | deck = reveal; 56 | 57 | let revealOptions = deck.getConfig().math || {}; 58 | 59 | let options = { ...defaultOptions, ...revealOptions }; 60 | let mathjax = options.mathjax || 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js'; 61 | let config = options.config || 'TeX-AMS_HTML-full'; 62 | let url = mathjax + '?config=' + config; 63 | 64 | options.tex2jax = { ...defaultOptions.tex2jax, ...revealOptions.tex2jax }; 65 | 66 | options.mathjax = options.config = null; 67 | 68 | loadScript( url, function() { 69 | 70 | MathJax.Hub.Config( options ); 71 | 72 | // Typeset followed by an immediate reveal.js layout since 73 | // the typesetting process could affect slide height 74 | MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, deck.getRevealElement() ] ); 75 | MathJax.Hub.Queue( deck.layout ); 76 | 77 | // Reprocess equations in slides when they turn visible 78 | deck.on( 'slidechanged', function( event ) { 79 | 80 | MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] ); 81 | 82 | } ); 83 | 84 | } ); 85 | 86 | } 87 | } 88 | 89 | }; 90 | 91 | export default Plugin; 92 | -------------------------------------------------------------------------------- /lectures/js/revealjs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "reveal.js", 3 | "version": "4.0.1", 4 | "description": "The HTML Presentation Framework", 5 | "homepage": "https://revealjs.com", 6 | "subdomain": "revealjs", 7 | "main": "dist/reveal.js", 8 | "module": "dist/reveal.esm.js", 9 | "license": "MIT", 10 | "scripts": { 11 | "test": "gulp test", 12 | "start": "gulp serve", 13 | "build": "gulp build" 14 | }, 15 | "author": { 16 | "name": "Hakim El Hattab", 17 | "email": "hakim.elhattab@gmail.com", 18 | "web": "https://hakim.se" 19 | }, 20 | "repository": { 21 | "type": "git", 22 | "url": "git://github.com/hakimel/reveal.js.git" 23 | }, 24 | "engines": { 25 | "node": ">=10.0.0" 26 | }, 27 | "keywords": [ 28 | "reveal", 29 | "slides", 30 | "presentation" 31 | ], 32 | "devDependencies": { 33 | "@babel/core": "^7.9.6", 34 | "@babel/preset-env": "^7.9.6", 35 | "@rollup/plugin-commonjs": "^11.1.0", 36 | "@rollup/plugin-node-resolve": "^7.1.3", 37 | "babel-eslint": "^10.1.0", 38 | "babel-plugin-transform-html-import-to-string": "0.0.1", 39 | "colors": "^1.4.0", 40 | "core-js": "^3.6.5", 41 | "glob": "^7.1.6", 42 | "gulp": "^4.0.2", 43 | "gulp-autoprefixer": "^7.0.1", 44 | "gulp-clean-css": "^4.2.0", 45 | "gulp-connect": "^5.7.0", 46 | "gulp-eslint": "^6.0.0", 47 | "gulp-header": "^2.0.9", 48 | "gulp-sass": "^4.0.2", 49 | "gulp-tap": "^2.0.0", 50 | "gulp-zip": "^5.0.1", 51 | "highlight.js": "^10.0.3", 52 | "marked": "^1.1.0", 53 | "node-qunit-puppeteer": "^2.0.1", 54 | "qunit": "^2.10.0", 55 | "rollup": "^2.10.4", 56 | "rollup-plugin-babel": "^4.4.0", 57 | "rollup-plugin-terser": "^5.3.0", 58 | "yargs": "^15.1.0" 59 | }, 60 | "browserslist": "> 0.5%, IE 11, not dead", 61 | "eslintConfig": { 62 | "env": { 63 | "browser": true, 64 | "es6": true 65 | }, 66 | "parser": "babel-eslint", 67 | "parserOptions": { 68 | "sourceType": "module", 69 | "allowImportExportEverywhere": true 70 | }, 71 | "globals": { 72 | "module": false, 73 | "console": false, 74 | "unescape": false, 75 | "define": false, 76 | "exports": false 77 | }, 78 | "rules": { 79 | "curly": 0, 80 | "eqeqeq": 2, 81 | "wrap-iife": [ 82 | 2, 83 | "any" 84 | ], 85 | "no-use-before-define": [ 86 | 2, 87 | { 88 | "functions": false 89 | } 90 | ], 91 | "new-cap": 2, 92 | "no-caller": 2, 93 | "dot-notation": 0, 94 | "no-eq-null": 2, 95 | "no-unused-expressions": 0 96 | } 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /lectures/js/revealjs/plugin/search/search.esm.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Handles finding a text string anywhere in the slides and showing the next occurrence to the user 3 | * by navigatating to that slide and highlighting it. 4 | * 5 | * @author Jon Snyder , February 2013 6 | */ 7 | export default function(){var e,t,n,l,i,o,r;function s(){(t=document.createElement("div")).classList.add("searchbox"),t.style.position="absolute",t.style.top="10px",t.style.right="10px",t.style.zIndex=10,t.innerHTML='\n\t\t',(n=t.querySelector(".searchinput")).style.width="240px",n.style.fontSize="14px",n.style.padding="4px 6px",n.style.color="#000",n.style.background="#fff",n.style.borderRadius="2px",n.style.border="0",n.style.outline="0",n.style.boxShadow="0 2px 18px rgba(0, 0, 0, 0.2)",n.style["-webkit-appearance"]="none",e.getRevealElement().appendChild(t),n.addEventListener("keyup",(function(t){switch(t.keyCode){case 13:t.preventDefault(),function(){if(o){var t=n.value;""===t?(r&&r.remove(),l=null):(r=new c("slidecontent"),l=r.apply(t),i=0)}l&&(l.length&&l.length<=i&&(i=0),l.length>i&&(e.slide(l[i].h,l[i].v),i++))}(),o=!1;break;default:o=!0}}),!1),d()}function a(){t||s(),t.style.display="inline",n.focus(),n.select()}function d(){t||s(),t.style.display="none",r&&r.remove()}function c(t,n){var l=document.getElementById(t)||document.body,i=n||"EM",o=new RegExp("^(?:"+i+"|SCRIPT|FORM)$"),r=["#ff6","#a0ffff","#9f9","#f99","#f6f"],s=[],a=0,d="",c=[];this.setRegex=function(e){e=e.replace(/^[^\w]+|[^\w]+$/g,"").replace(/[^\w'-]+/g,"|"),d=new RegExp("("+e+")","i")},this.getRegex=function(){return d.toString().replace(/^\/\\b\(|\)\\b\/i$/g,"").replace(/\|/g," ")},this.hiliteWords=function(t){if(null!=t&&t&&d&&!o.test(t.nodeName)){if(t.hasChildNodes())for(var n=0;n, February 2013 7 | */return function(){var e,t,n,o,i,l,r;function s(){(t=document.createElement("div")).classList.add("searchbox"),t.style.position="absolute",t.style.top="10px",t.style.right="10px",t.style.zIndex=10,t.innerHTML='\n\t\t',(n=t.querySelector(".searchinput")).style.width="240px",n.style.fontSize="14px",n.style.padding="4px 6px",n.style.color="#000",n.style.background="#fff",n.style.borderRadius="2px",n.style.border="0",n.style.outline="0",n.style.boxShadow="0 2px 18px rgba(0, 0, 0, 0.2)",n.style["-webkit-appearance"]="none",e.getRevealElement().appendChild(t),n.addEventListener("keyup",(function(t){switch(t.keyCode){case 13:t.preventDefault(),function(){if(l){var t=n.value;""===t?(r&&r.remove(),o=null):(r=new c("slidecontent"),o=r.apply(t),i=0)}o&&(o.length&&o.length<=i&&(i=0),o.length>i&&(e.slide(o[i].h,o[i].v),i++))}(),l=!1;break;default:l=!0}}),!1),d()}function a(){t||s(),t.style.display="inline",n.focus(),n.select()}function d(){t||s(),t.style.display="none",r&&r.remove()}function c(t,n){var o=document.getElementById(t)||document.body,i=n||"EM",l=new RegExp("^(?:"+i+"|SCRIPT|FORM)$"),r=["#ff6","#a0ffff","#9f9","#f99","#f6f"],s=[],a=0,d="",c=[];this.setRegex=function(e){e=e.replace(/^[^\w]+|[^\w]+$/g,"").replace(/[^\w'-]+/g,"|"),d=new RegExp("("+e+")","i")},this.getRegex=function(){return d.toString().replace(/^\/\\b\(|\)\\b\/i$/g,"").replace(/\|/g," ")},this.hiliteWords=function(t){if(null!=t&&t&&d&&!l.test(t.nodeName)){if(t.hasChildNodes())for(var n=0;n 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Test Iframes 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 |
18 | 19 |
20 | 27 |
28 | 29 |
30 | 37 |
38 | 39 | 96 | 101 | 102 | 103 | 104 | -------------------------------------------------------------------------------- /lectures/js/revealjs/examples/multiple-presentations.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | reveal.js - Multiple Presentations 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 |
21 |
Deck 1, Slide 1
22 |
Deck 1, Slide 2
23 |
24 |

 25 | 							import React, { useState } from 'react';
 26 | 							function Example() {
 27 | 							  const [count, setCount] = useState(0);
 28 | 							}
 29 | 						
30 |
31 |
32 |
33 | 34 |
35 |
36 |
Deck 2, Slide 1
37 |
Deck 2, Slide 2
38 |
39 | 46 |
47 |
48 |

The Lorenz Equations

49 | 50 | \[\begin{aligned} 51 | \dot{x} & = \sigma(y-x) \\ 52 | \dot{y} & = \rho x - y - xz \\ 53 | \dot{z} & = -\beta z + xy 54 | \end{aligned} \] 55 |
56 |
57 |
58 |
59 | 60 | 68 | 69 | 70 | 71 | 72 | 73 | 100 | 101 | 102 | 103 | -------------------------------------------------------------------------------- /lectures/js/revealjs/js/controllers/notes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Handles the showing and 3 | */ 4 | export default class Notes { 5 | 6 | constructor( Reveal ) { 7 | 8 | this.Reveal = Reveal; 9 | 10 | } 11 | 12 | render() { 13 | 14 | this.element = document.createElement( 'div' ); 15 | this.element.className = 'speaker-notes'; 16 | this.element.setAttribute( 'data-prevent-swipe', '' ); 17 | this.element.setAttribute( 'tabindex', '0' ); 18 | this.Reveal.getRevealElement().appendChild( this.element ); 19 | 20 | } 21 | 22 | /** 23 | * Called when the reveal.js config is updated. 24 | */ 25 | configure( config, oldConfig ) { 26 | 27 | if( config.showNotes ) { 28 | this.element.setAttribute( 'data-layout', typeof config.showNotes === 'string' ? config.showNotes : 'inline' ); 29 | } 30 | 31 | } 32 | 33 | /** 34 | * Pick up notes from the current slide and display them 35 | * to the viewer. 36 | * 37 | * @see {@link config.showNotes} 38 | */ 39 | update() { 40 | 41 | if( this.Reveal.getConfig().showNotes && this.element && this.Reveal.getCurrentSlide() && !this.Reveal.print.isPrintingPDF() ) { 42 | 43 | this.element.innerHTML = this.getSlideNotes() || 'No notes on this slide.'; 44 | 45 | } 46 | 47 | } 48 | 49 | /** 50 | * Updates the visibility of the speaker notes sidebar that 51 | * is used to share annotated slides. The notes sidebar is 52 | * only visible if showNotes is true and there are notes on 53 | * one or more slides in the deck. 54 | */ 55 | updateVisibility() { 56 | 57 | if( this.Reveal.getConfig().showNotes && this.hasNotes() && !this.Reveal.print.isPrintingPDF() ) { 58 | this.Reveal.getRevealElement().classList.add( 'show-notes' ); 59 | } 60 | else { 61 | this.Reveal.getRevealElement().classList.remove( 'show-notes' ); 62 | } 63 | 64 | } 65 | 66 | /** 67 | * Checks if there are speaker notes for ANY slide in the 68 | * presentation. 69 | */ 70 | hasNotes() { 71 | 72 | return this.Reveal.getSlidesElement().querySelectorAll( '[data-notes], aside.notes' ).length > 0; 73 | 74 | } 75 | 76 | /** 77 | * Checks if this presentation is running inside of the 78 | * speaker notes window. 79 | * 80 | * @return {boolean} 81 | */ 82 | isSpeakerNotesWindow() { 83 | 84 | return !!window.location.search.match( /receiver/gi ); 85 | 86 | } 87 | 88 | /** 89 | * Retrieves the speaker notes from a slide. Notes can be 90 | * defined in two ways: 91 | * 1. As a data-notes attribute on the slide
92 | * 2. As an