├── imagens ├── java.png ├── materialapoio.png ├── java se curso básico.png └── java web ee curso básico.png ├── docs ├── slides │ ├── Slide1.JPG │ ├── Slide2.JPG │ ├── Slide3.JPG │ ├── Slide4.JPG │ ├── Slide5.JPG │ ├── Slide6.JPG │ ├── Slide7.JPG │ ├── Slide8.JPG │ ├── Slide9.JPG │ ├── Slide10.JPG │ ├── Slide11.JPG │ ├── Slide12.JPG │ ├── Slide13.JPG │ ├── Slide14.JPG │ ├── Slide15.JPG │ ├── Slide16.JPG │ ├── Slide17.JPG │ ├── Slide18.JPG │ ├── Slide19.JPG │ ├── Slide20.JPG │ ├── Slide21.JPG │ ├── Slide22.JPG │ ├── Slide23.JPG │ ├── Slide24.JPG │ ├── Slide25.JPG │ ├── Slide26.JPG │ ├── Slide27.JPG │ ├── Slide28.JPG │ ├── Slide29.JPG │ ├── Slide30.JPG │ ├── Slide31.JPG │ ├── Slide32.JPG │ ├── Slide33.JPG │ ├── Slide34.JPG │ ├── Slide35.JPG │ ├── Slide36.JPG │ ├── Slide37.JPG │ ├── Slide38.JPG │ ├── Slide39.JPG │ ├── Slide40.JPG │ ├── Slide41.JPG │ ├── Slide42.JPG │ ├── Slide43.JPG │ ├── Slide44.JPG │ ├── Slide45.JPG │ ├── Slide46.JPG │ ├── Slide47.JPG │ ├── Slide48.JPG │ ├── Slide49.JPG │ ├── Slide50.JPG │ ├── Slide51.JPG │ ├── Slide52.JPG │ ├── Slide53.JPG │ ├── Slide54.JPG │ ├── Slide55.JPG │ ├── Slide56.JPG │ ├── Slide57.JPG │ ├── Slide58.JPG │ ├── Slide59.JPG │ ├── Slide60.JPG │ ├── Slide61.JPG │ ├── Slide62.JPG │ ├── Slide63.JPG │ ├── Slide64.JPG │ ├── Slide65.JPG │ ├── Slide66.JPG │ ├── Slide67.JPG │ ├── Slide68.JPG │ ├── Slide69.JPG │ ├── Slide70.JPG │ ├── Slide71.JPG │ ├── Slide72.JPG │ ├── Slide73.JPG │ ├── Slide74.JPG │ ├── Slide75.JPG │ ├── Slide76.JPG │ ├── Slide77.JPG │ ├── Slide78.JPG │ ├── Slide79.JPG │ ├── Slide80.JPG │ ├── Slide81.JPG │ ├── Slide82.JPG │ ├── Slide83.JPG │ ├── Slide84.JPG │ ├── Slide85.JPG │ ├── Slide86.JPG │ ├── Slide87.JPG │ └── Slide88.JPG ├── 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 │ │ │ └── LICENSE │ └── reset.css ├── js │ ├── utils │ │ ├── device.js │ │ ├── constants.js │ │ ├── loader.js │ │ ├── color.js │ │ └── util.js │ ├── index.js │ ├── controllers │ │ ├── focus.js │ │ ├── progress.js │ │ ├── notes.js │ │ ├── pointer.js │ │ ├── slidenumber.js │ │ ├── jumptoslide.js │ │ ├── plugins.js │ │ ├── location.js │ │ ├── overview.js │ │ └── touch.js │ └── components │ │ └── playback.js ├── plugin │ ├── math │ │ ├── plugin.js │ │ ├── mathjax2.js │ │ ├── mathjax3.js │ │ ├── katex.js │ │ ├── math.esm.js │ │ └── math.js │ ├── highlight │ │ ├── monokai.css │ │ └── zenburn.css │ ├── search │ │ ├── search.esm.js │ │ ├── search.js │ │ └── plugin.js │ ├── zoom │ │ ├── zoom.esm.js │ │ ├── zoom.js │ │ └── plugin.js │ └── notes │ │ └── plugin.js └── css │ ├── theme │ ├── source │ │ ├── night.scss │ │ ├── serif.scss │ │ ├── league.scss │ │ ├── black.scss │ │ ├── white.scss │ │ ├── simple.scss │ │ ├── sky.scss │ │ ├── beige.scss │ │ ├── white-contrast.scss │ │ ├── black-contrast.scss │ │ ├── moon.scss │ │ ├── solarized.scss │ │ ├── blood.scss │ │ └── dracula.scss │ ├── template │ │ ├── exposer.scss │ │ ├── settings.scss │ │ ├── mixins.scss │ │ └── theme.scss │ └── README.md │ ├── layout.scss │ └── print │ ├── pdf.scss │ └── paper.scss ├── Curso de Java ├── array │ ├── Array1.java │ ├── Array2.java │ ├── Array3.java │ └── Cartas.java ├── pooCarros │ ├── Aviao.java │ ├── Carro.java │ ├── Hangar.java │ └── Garagem.java ├── exercicios │ ├── JoKenPo.java │ ├── ValorHora.java │ ├── AlcoolGasolina.java │ ├── CalculadoraMedia.java │ ├── PDV.java │ ├── CalculoIMC.java │ └── JogoDado.java ├── pooMinecraft │ ├── Bloco.java │ ├── Itens.java │ ├── Mundo.java │ └── Enxada.java ├── pooAgencia │ ├── contas │ │ ├── Conta.java │ │ └── PessoaFisica.java │ └── seguros │ │ └── SeguroPessoaFisica.java └── fundamentos │ ├── Hello.java │ └── Fundamentos.java ├── .gitignore ├── LICENSE └── README.md /imagens/java.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/imagens/java.png -------------------------------------------------------------------------------- /docs/slides/Slide1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide1.JPG -------------------------------------------------------------------------------- /docs/slides/Slide2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide2.JPG -------------------------------------------------------------------------------- /docs/slides/Slide3.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide3.JPG -------------------------------------------------------------------------------- /docs/slides/Slide4.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide4.JPG -------------------------------------------------------------------------------- /docs/slides/Slide5.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide5.JPG -------------------------------------------------------------------------------- /docs/slides/Slide6.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide6.JPG -------------------------------------------------------------------------------- /docs/slides/Slide7.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide7.JPG -------------------------------------------------------------------------------- /docs/slides/Slide8.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide8.JPG -------------------------------------------------------------------------------- /docs/slides/Slide9.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide9.JPG -------------------------------------------------------------------------------- /docs/slides/Slide10.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide10.JPG -------------------------------------------------------------------------------- /docs/slides/Slide11.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide11.JPG -------------------------------------------------------------------------------- /docs/slides/Slide12.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide12.JPG -------------------------------------------------------------------------------- /docs/slides/Slide13.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide13.JPG -------------------------------------------------------------------------------- /docs/slides/Slide14.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide14.JPG -------------------------------------------------------------------------------- /docs/slides/Slide15.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide15.JPG -------------------------------------------------------------------------------- /docs/slides/Slide16.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide16.JPG -------------------------------------------------------------------------------- /docs/slides/Slide17.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide17.JPG -------------------------------------------------------------------------------- /docs/slides/Slide18.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide18.JPG -------------------------------------------------------------------------------- /docs/slides/Slide19.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide19.JPG -------------------------------------------------------------------------------- /docs/slides/Slide20.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide20.JPG -------------------------------------------------------------------------------- /docs/slides/Slide21.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide21.JPG -------------------------------------------------------------------------------- /docs/slides/Slide22.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide22.JPG -------------------------------------------------------------------------------- /docs/slides/Slide23.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide23.JPG -------------------------------------------------------------------------------- /docs/slides/Slide24.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide24.JPG -------------------------------------------------------------------------------- /docs/slides/Slide25.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide25.JPG -------------------------------------------------------------------------------- /docs/slides/Slide26.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide26.JPG -------------------------------------------------------------------------------- /docs/slides/Slide27.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide27.JPG -------------------------------------------------------------------------------- /docs/slides/Slide28.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide28.JPG -------------------------------------------------------------------------------- /docs/slides/Slide29.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide29.JPG -------------------------------------------------------------------------------- /docs/slides/Slide30.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide30.JPG -------------------------------------------------------------------------------- /docs/slides/Slide31.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide31.JPG -------------------------------------------------------------------------------- /docs/slides/Slide32.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide32.JPG -------------------------------------------------------------------------------- /docs/slides/Slide33.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide33.JPG -------------------------------------------------------------------------------- /docs/slides/Slide34.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide34.JPG -------------------------------------------------------------------------------- /docs/slides/Slide35.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide35.JPG -------------------------------------------------------------------------------- /docs/slides/Slide36.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide36.JPG -------------------------------------------------------------------------------- /docs/slides/Slide37.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide37.JPG -------------------------------------------------------------------------------- /docs/slides/Slide38.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide38.JPG -------------------------------------------------------------------------------- /docs/slides/Slide39.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide39.JPG -------------------------------------------------------------------------------- /docs/slides/Slide40.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide40.JPG -------------------------------------------------------------------------------- /docs/slides/Slide41.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide41.JPG -------------------------------------------------------------------------------- /docs/slides/Slide42.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide42.JPG -------------------------------------------------------------------------------- /docs/slides/Slide43.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide43.JPG -------------------------------------------------------------------------------- /docs/slides/Slide44.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide44.JPG -------------------------------------------------------------------------------- /docs/slides/Slide45.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide45.JPG -------------------------------------------------------------------------------- /docs/slides/Slide46.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide46.JPG -------------------------------------------------------------------------------- /docs/slides/Slide47.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide47.JPG -------------------------------------------------------------------------------- /docs/slides/Slide48.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide48.JPG -------------------------------------------------------------------------------- /docs/slides/Slide49.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide49.JPG -------------------------------------------------------------------------------- /docs/slides/Slide50.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide50.JPG -------------------------------------------------------------------------------- /docs/slides/Slide51.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide51.JPG -------------------------------------------------------------------------------- /docs/slides/Slide52.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide52.JPG -------------------------------------------------------------------------------- /docs/slides/Slide53.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide53.JPG -------------------------------------------------------------------------------- /docs/slides/Slide54.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide54.JPG -------------------------------------------------------------------------------- /docs/slides/Slide55.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide55.JPG -------------------------------------------------------------------------------- /docs/slides/Slide56.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide56.JPG -------------------------------------------------------------------------------- /docs/slides/Slide57.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide57.JPG -------------------------------------------------------------------------------- /docs/slides/Slide58.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide58.JPG -------------------------------------------------------------------------------- /docs/slides/Slide59.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide59.JPG -------------------------------------------------------------------------------- /docs/slides/Slide60.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide60.JPG -------------------------------------------------------------------------------- /docs/slides/Slide61.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide61.JPG -------------------------------------------------------------------------------- /docs/slides/Slide62.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide62.JPG -------------------------------------------------------------------------------- /docs/slides/Slide63.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide63.JPG -------------------------------------------------------------------------------- /docs/slides/Slide64.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide64.JPG -------------------------------------------------------------------------------- /docs/slides/Slide65.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide65.JPG -------------------------------------------------------------------------------- /docs/slides/Slide66.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide66.JPG -------------------------------------------------------------------------------- /docs/slides/Slide67.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide67.JPG -------------------------------------------------------------------------------- /docs/slides/Slide68.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide68.JPG -------------------------------------------------------------------------------- /docs/slides/Slide69.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide69.JPG -------------------------------------------------------------------------------- /docs/slides/Slide70.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide70.JPG -------------------------------------------------------------------------------- /docs/slides/Slide71.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide71.JPG -------------------------------------------------------------------------------- /docs/slides/Slide72.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide72.JPG -------------------------------------------------------------------------------- /docs/slides/Slide73.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide73.JPG -------------------------------------------------------------------------------- /docs/slides/Slide74.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide74.JPG -------------------------------------------------------------------------------- /docs/slides/Slide75.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide75.JPG -------------------------------------------------------------------------------- /docs/slides/Slide76.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide76.JPG -------------------------------------------------------------------------------- /docs/slides/Slide77.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide77.JPG -------------------------------------------------------------------------------- /docs/slides/Slide78.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide78.JPG -------------------------------------------------------------------------------- /docs/slides/Slide79.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide79.JPG -------------------------------------------------------------------------------- /docs/slides/Slide80.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide80.JPG -------------------------------------------------------------------------------- /docs/slides/Slide81.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide81.JPG -------------------------------------------------------------------------------- /docs/slides/Slide82.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide82.JPG -------------------------------------------------------------------------------- /docs/slides/Slide83.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide83.JPG -------------------------------------------------------------------------------- /docs/slides/Slide84.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide84.JPG -------------------------------------------------------------------------------- /docs/slides/Slide85.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide85.JPG -------------------------------------------------------------------------------- /docs/slides/Slide86.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide86.JPG -------------------------------------------------------------------------------- /docs/slides/Slide87.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide87.JPG -------------------------------------------------------------------------------- /docs/slides/Slide88.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/slides/Slide88.JPG -------------------------------------------------------------------------------- /imagens/materialapoio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/imagens/materialapoio.png -------------------------------------------------------------------------------- /Curso de Java/array/Array1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/array/Array1.java -------------------------------------------------------------------------------- /Curso de Java/array/Array2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/array/Array2.java -------------------------------------------------------------------------------- /Curso de Java/array/Array3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/array/Array3.java -------------------------------------------------------------------------------- /imagens/java se curso básico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/imagens/java se curso básico.png -------------------------------------------------------------------------------- /Curso de Java/pooCarros/Aviao.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooCarros/Aviao.java -------------------------------------------------------------------------------- /Curso de Java/pooCarros/Carro.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooCarros/Carro.java -------------------------------------------------------------------------------- /Curso de Java/pooCarros/Hangar.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooCarros/Hangar.java -------------------------------------------------------------------------------- /Curso de Java/exercicios/JoKenPo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/exercicios/JoKenPo.java -------------------------------------------------------------------------------- /Curso de Java/pooMinecraft/Bloco.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooMinecraft/Bloco.java -------------------------------------------------------------------------------- /Curso de Java/pooMinecraft/Itens.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooMinecraft/Itens.java -------------------------------------------------------------------------------- /Curso de Java/pooMinecraft/Mundo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooMinecraft/Mundo.java -------------------------------------------------------------------------------- /imagens/java web ee curso básico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/imagens/java web ee curso básico.png -------------------------------------------------------------------------------- /Curso de Java/exercicios/ValorHora.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/exercicios/ValorHora.java -------------------------------------------------------------------------------- /Curso de Java/pooMinecraft/Enxada.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooMinecraft/Enxada.java -------------------------------------------------------------------------------- /docs/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 | -------------------------------------------------------------------------------- /Curso de Java/pooAgencia/contas/Conta.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooAgencia/contas/Conta.java -------------------------------------------------------------------------------- /Curso de Java/exercicios/AlcoolGasolina.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/exercicios/AlcoolGasolina.java -------------------------------------------------------------------------------- /Curso de Java/exercicios/CalculadoraMedia.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/exercicios/CalculadoraMedia.java -------------------------------------------------------------------------------- /Curso de Java/pooAgencia/contas/PessoaFisica.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/Curso de Java/pooAgencia/contas/PessoaFisica.java -------------------------------------------------------------------------------- /docs/dist/theme/fonts/league-gothic/league-gothic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/league-gothic/league-gothic.eot -------------------------------------------------------------------------------- /docs/dist/theme/fonts/league-gothic/league-gothic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/league-gothic/league-gothic.ttf -------------------------------------------------------------------------------- /docs/dist/theme/fonts/league-gothic/league-gothic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/league-gothic/league-gothic.woff -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf -------------------------------------------------------------------------------- /docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/professorjosedeassis/javaSE/HEAD/docs/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff -------------------------------------------------------------------------------- /Curso de Java/fundamentos/Hello.java: -------------------------------------------------------------------------------- 1 | package fundamentos; 2 | 3 | /** 4 | * Java - Primeiros Passos 5 | * 6 | * @author Professor Jose de Assis (joseassis.com.br) 7 | * 8 | */ 9 | public class Hello { 10 | 11 | public static void main(String[] args) { 12 | System.out.println("Hello World"); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /docs/js/utils/device.js: -------------------------------------------------------------------------------- 1 | const UA = navigator.userAgent; 2 | 3 | export const isMobile = /(iphone|ipod|ipad|android)/gi.test( UA ) || 4 | ( navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 ); // iPadOS 5 | 6 | export const isChrome = /chrome/i.test( UA ) && !/edge/i.test( UA ); 7 | 8 | export const isAndroid = /android/gi.test( UA ); -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | -------------------------------------------------------------------------------- /docs/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 | } 11 | -------------------------------------------------------------------------------- /docs/plugin/math/plugin.js: -------------------------------------------------------------------------------- 1 | import {KaTeX} from "./katex"; 2 | import {MathJax2} from "./mathjax2"; 3 | import {MathJax3} from "./mathjax3"; 4 | 5 | const defaultTypesetter = MathJax2; 6 | 7 | /*! 8 | * This plugin is a wrapper for the MathJax2, 9 | * MathJax3 and KaTeX typesetter plugins. 10 | */ 11 | export default Plugin = Object.assign( defaultTypesetter(), { 12 | KaTeX, 13 | MathJax2, 14 | MathJax3 15 | } ); -------------------------------------------------------------------------------- /Curso de Java/pooAgencia/seguros/SeguroPessoaFisica.java: -------------------------------------------------------------------------------- 1 | package seguros; 2 | 3 | import contas.Conta; 4 | 5 | public class SeguroPessoaFisica extends Conta { 6 | 7 | public static void main(String[] args) { 8 | SeguroPessoaFisica cc3 = new SeguroPessoaFisica(); 9 | cc3.setCliente("Robson Vaamonde"); 10 | cc3.setSaldo(9000); 11 | System.out.println("Cliente: " + cc3.getCliente()); 12 | cc3.exibirSaldo(); 13 | } 14 | } -------------------------------------------------------------------------------- /docs/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|showPreview/; 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/; -------------------------------------------------------------------------------- /Curso de Java/array/Cartas.java: -------------------------------------------------------------------------------- 1 | package array; 2 | 3 | import java.util.Random; 4 | 5 | /** 6 | * Exemplo de uso do array (salvar como UTF-8 para exibir caracteres especiais) 7 | * 8 | * @author Professor Jose de Assis 9 | * 10 | */ 11 | public class Cartas { 12 | 13 | public static void main(String[] args) { 14 | // Copas (alt + 3) Ouros (alt + 4) Paus (alt + 5) Espada (alt + 6) 15 | String[] nipes = { "♥", "♦", "♣", "♠" }; 16 | String[] faces = { "A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K" }; 17 | Random sorteio = new Random(); 18 | /* 19 | * a linha abaixo usa o objeto sorteio para gerar um número aleatorio entre (0 e 20 | * 12) e atribui este numero a variavel indice_faces 21 | */ 22 | int indice_faces = sorteio.nextInt(faces.length); 23 | int indice_nipes = sorteio.nextInt(nipes.length); 24 | System.out.println(faces[indice_faces] + nipes[indice_nipes]); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /docs/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 | } -------------------------------------------------------------------------------- /Curso de Java/exercicios/PDV.java: -------------------------------------------------------------------------------- 1 | package exercicios; 2 | 3 | import java.text.DecimalFormat; 4 | import java.util.Scanner; 5 | 6 | /** 7 | * Exercicio 8 | * 9 | * @author Professor Jose de Assis 10 | * 11 | */ 12 | public class PDV { 13 | 14 | public static void main(String[] args) { 15 | // variaveis 16 | double total, desconto, totalDesconto, valorPago, troco; 17 | // objetos 18 | Scanner teclado = new Scanner(System.in); 19 | DecimalFormat formatador = new DecimalFormat("#0.00"); 20 | // entrada 21 | System.out.println("PDV"); 22 | System.out.print("Valor total: "); 23 | total = teclado.nextDouble(); 24 | System.out.print("Desconto(%): "); 25 | desconto = teclado.nextDouble(); 26 | // processamento 27 | totalDesconto = total - (desconto * total) / 100; 28 | // saida 29 | System.out.println("Total com desconto: R$ " + totalDesconto); 30 | System.out.print("Valor pago em dinheiro: "); 31 | valorPago = teclado.nextDouble(); 32 | troco = valorPago - totalDesconto; 33 | System.out.println("Troco: R$ " + formatador.format(troco)); 34 | teclado.close(); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 José de Assis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /docs/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 | // Change text colors against light slide backgrounds 32 | @include light-bg-text-color(#222); 33 | 34 | 35 | // Theme template ------------------------------ 36 | @import "../template/theme"; 37 | // --------------------------------------------- -------------------------------------------------------------------------------- /docs/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 | // Change text colors against dark slide backgrounds 33 | @include dark-bg-text-color(#fff); 34 | 35 | 36 | // Theme template ------------------------------ 37 | @import "../template/theme"; 38 | // --------------------------------------------- 39 | -------------------------------------------------------------------------------- /docs/css/theme/template/exposer.scss: -------------------------------------------------------------------------------- 1 | // Exposes theme's variables for easy re-use in CSS for plugin authors 2 | 3 | :root { 4 | --r-background-color: #{$backgroundColor}; 5 | --r-main-font: #{$mainFont}; 6 | --r-main-font-size: #{$mainFontSize}; 7 | --r-main-color: #{$mainColor}; 8 | --r-block-margin: #{$blockMargin}; 9 | --r-heading-margin: #{$headingMargin}; 10 | --r-heading-font: #{$headingFont}; 11 | --r-heading-color: #{$headingColor}; 12 | --r-heading-line-height: #{$headingLineHeight}; 13 | --r-heading-letter-spacing: #{$headingLetterSpacing}; 14 | --r-heading-text-transform: #{$headingTextTransform}; 15 | --r-heading-text-shadow: #{$headingTextShadow}; 16 | --r-heading-font-weight: #{$headingFontWeight}; 17 | --r-heading1-text-shadow: #{$heading1TextShadow}; 18 | --r-heading1-size: #{$heading1Size}; 19 | --r-heading2-size: #{$heading2Size}; 20 | --r-heading3-size: #{$heading3Size}; 21 | --r-heading4-size: #{$heading4Size}; 22 | --r-code-font: #{$codeFont}; 23 | --r-link-color: #{$linkColor}; 24 | --r-link-color-dark: #{darken($linkColor , 15% )}; 25 | --r-link-color-hover: #{$linkColorHover}; 26 | --r-selection-background-color: #{$selectionBackgroundColor}; 27 | --r-selection-color: #{$selectionColor}; 28 | } 29 | -------------------------------------------------------------------------------- /docs/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 | -------------------------------------------------------------------------------- /docs/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 | -------------------------------------------------------------------------------- /docs/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 | } -------------------------------------------------------------------------------- /docs/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 | -------------------------------------------------------------------------------- /docs/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 | // Change text colors against light slide backgrounds 31 | @include light-bg-text-color(#222); 32 | 33 | 34 | // Theme template ------------------------------ 35 | @import "../template/theme"; 36 | // --------------------------------------------- 37 | -------------------------------------------------------------------------------- /Curso de Java/pooCarros/Garagem.java: -------------------------------------------------------------------------------- 1 | package pooCarros; 2 | 3 | public class Garagem { 4 | 5 | public static void main(String[] args) { 6 | // Objeto 1 - ferrari 7 | Carro ferrari = new Carro(); 8 | ferrari.ano = 2012; 9 | ferrari.cor = "Vermelho"; 10 | System.out.println("Carro: Ferrari"); 11 | System.out.println("Ano: " + ferrari.ano); 12 | System.out.println("Cor: " + ferrari.cor); 13 | ferrari.ligar(); 14 | ferrari.acelerar(); 15 | // Objeto 2 - fusca 16 | Carro fusca = new Carro(); 17 | fusca.ano = 1967; 18 | fusca.cor = "Azul"; 19 | System.out.println("Carro: Fusca"); 20 | System.out.println("Ano: " + fusca.ano); 21 | System.out.println("Cor: " + fusca.cor); 22 | fusca.ligar(); 23 | fusca.acelerar(); 24 | fusca.desligar(); 25 | // Objeto 3 - camaro 26 | //Dica: identacao(alinhamento) 27 | Carro camaro = new Carro(); 28 | camaro.ano = 2009; 29 | camaro.cor = "Amarelo"; 30 | System.out.println("Carro: Camaro"); 31 | System.out.println("Ano: " + camaro.ano); 32 | System.out.println("Cor: " + camaro.cor); 33 | camaro.ligar(); 34 | // Objeto 4 - uno 35 | Carro uno = new Carro(); 36 | uno.ano = 1991; 37 | uno.cor = "Branco"; 38 | System.out.println("Carro: Uno"); 39 | System.out.println("Ano: " + uno.ano); 40 | System.out.println("Cor: " + uno.cor); 41 | uno.ligar(); 42 | uno.acelerar(); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Curso de Java/exercicios/CalculoIMC.java: -------------------------------------------------------------------------------- 1 | package exercicios; 2 | 3 | import java.text.DecimalFormat; 4 | import java.util.Scanner; 5 | 6 | /** 7 | * Exercicio 8 | * 9 | * @author Professor Jose de Assis 10 | * 11 | */ 12 | public class CalculoIMC { 13 | 14 | public static void main(String[] args) { 15 | // variaveis 16 | double peso, altura, imc; 17 | // objetos 18 | Scanner teclado = new Scanner(System.in); 19 | DecimalFormat formatador = new DecimalFormat("#0.00"); 20 | // entrada 21 | System.out.println("Cálculo do IMC"); 22 | System.out.print("Digite o seu peso em kilogramas: "); 23 | peso = teclado.nextDouble(); 24 | System.out.print("Digite a sua altura em metros: "); 25 | altura = teclado.nextDouble(); 26 | // processamento 27 | imc = peso / (altura * altura); 28 | // saida 29 | System.out.println("IMC: " + formatador.format(imc)); 30 | teclado.close(); 31 | // classificacao 32 | if (imc < 18.5) { 33 | System.out.println("abaixo do peso"); 34 | } else if (imc < 25) { 35 | System.out.println("Peso ideal"); 36 | } else if (imc < 30) { 37 | System.out.println("Levemente acima do peso"); 38 | } else if (imc < 35) { 39 | System.out.println("Obesidade grau I"); 40 | } else if (imc < 40) { 41 | System.out.println("Obesidade grau II (severa)"); 42 | } else { 43 | System.out.println("Obesidade grau III (m�rbida)"); 44 | } 45 | } 46 | } -------------------------------------------------------------------------------- /docs/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: rgba( $linkColor, 0.75 ); 34 | 35 | $heading1Size: 2.5em; 36 | $heading2Size: 1.6em; 37 | $heading3Size: 1.3em; 38 | $heading4Size: 1.0em; 39 | 40 | // Change text colors against light slide backgrounds 41 | @include light-bg-text-color(#222); 42 | 43 | 44 | // Theme template ------------------------------ 45 | @import "../template/theme"; 46 | // --------------------------------------------- 47 | -------------------------------------------------------------------------------- /docs/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 | // Change text colors against dark slide backgrounds 41 | @include dark-bg-text-color(#fff); 42 | 43 | 44 | // Theme template ------------------------------ 45 | @import "../template/theme"; 46 | // --------------------------------------------- 47 | -------------------------------------------------------------------------------- /docs/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 | // Change text colors against dark slide backgrounds 35 | @include dark-bg-text-color(#fff); 36 | 37 | 38 | // Theme template ------------------------------ 39 | @import "../template/theme"; 40 | // --------------------------------------------- -------------------------------------------------------------------------------- /docs/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 | // Change text colors against dark slide backgrounds 43 | @include dark-bg-text-color(#fff); 44 | 45 | 46 | 47 | // Theme template ------------------------------ 48 | @import "../template/theme"; 49 | // --------------------------------------------- 50 | -------------------------------------------------------------------------------- /docs/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 | // Change text colors against dark slide backgrounds 36 | @include dark-bg-text-color(#fff); 37 | 38 | 39 | // Theme template ------------------------------ 40 | @import "../template/theme"; 41 | // --------------------------------------------- 42 | -------------------------------------------------------------------------------- /docs/css/theme/source/white-contrast.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * White compact & high contrast reveal.js theme, with headers not in capitals. 3 | * 4 | * By Peter Kehl. Based on white.(s)css by Hakim El Hattab, http://hakim.se 5 | * 6 | * - Keep the source similar to black.css - for easy comparison. 7 | * - $mainFontSize controls code blocks, too (although under some ratio). 8 | */ 9 | 10 | 11 | // Default mixins and settings ----------------- 12 | @import "../template/mixins"; 13 | @import "../template/settings"; 14 | // --------------------------------------------- 15 | 16 | 17 | // Include theme-specific fonts 18 | @import url(./fonts/source-sans-pro/source-sans-pro.css); 19 | 20 | 21 | // Override theme settings (see ../template/settings.scss) 22 | $backgroundColor: #fff; 23 | 24 | $mainColor: #000; 25 | $headingColor: #000; 26 | 27 | $mainFontSize: 42px; 28 | $mainFont: 'Source Sans Pro', Helvetica, sans-serif; 29 | $headingFont: 'Source Sans Pro', Helvetica, sans-serif; 30 | $headingTextShadow: none; 31 | $headingLetterSpacing: normal; 32 | $headingTextTransform: uppercase; 33 | $headingFontWeight: 600; 34 | $linkColor: #2a76dd; 35 | $linkColorHover: lighten( $linkColor, 15% ); 36 | $selectionBackgroundColor: lighten( $linkColor, 25% ); 37 | 38 | $heading1Size: 2.5em; 39 | $heading2Size: 1.6em; 40 | $heading3Size: 1.3em; 41 | $heading4Size: 1.0em; 42 | 43 | // Change text colors against dark slide backgrounds 44 | @include dark-bg-text-color(#fff); 45 | 46 | 47 | // Theme template ------------------------------ 48 | @import "../template/theme"; 49 | // --------------------------------------------- 50 | -------------------------------------------------------------------------------- /docs/css/theme/source/black-contrast.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Black compact & high contrast reveal.js theme, with headers not in capitals. 3 | * 4 | * By Peter Kehl. Based on black.(s)css by Hakim El Hattab, http://hakim.se 5 | * 6 | * - Keep the source similar to black.css - for easy comparison. 7 | * - $mainFontSize controls code blocks, too (although under some ratio). 8 | */ 9 | 10 | 11 | // Default mixins and settings ----------------- 12 | @import "../template/mixins"; 13 | @import "../template/settings"; 14 | // --------------------------------------------- 15 | 16 | 17 | // Include theme-specific fonts 18 | @import url(./fonts/source-sans-pro/source-sans-pro.css); 19 | 20 | 21 | // Override theme settings (see ../template/settings.scss) 22 | $backgroundColor: #000000; 23 | 24 | $mainColor: #fff; 25 | $headingColor: #fff; 26 | 27 | $mainFontSize: 42px; 28 | $mainFont: 'Source Sans Pro', Helvetica, sans-serif; 29 | $headingFont: 'Source Sans Pro', Helvetica, sans-serif; 30 | $headingTextShadow: none; 31 | $headingLetterSpacing: normal; 32 | $headingTextTransform: uppercase; 33 | $headingFontWeight: 600; 34 | $linkColor: #42affa; 35 | $linkColorHover: lighten( $linkColor, 15% ); 36 | $selectionBackgroundColor: lighten( $linkColor, 25% ); 37 | 38 | $heading1Size: 2.5em; 39 | $heading2Size: 1.6em; 40 | $heading3Size: 1.3em; 41 | $heading4Size: 1.0em; 42 | 43 | // Change text colors against light slide backgrounds 44 | @include light-bg-text-color(#000); 45 | 46 | 47 | // Theme template ------------------------------ 48 | @import "../template/theme"; 49 | // --------------------------------------------- 50 | -------------------------------------------------------------------------------- /docs/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 | // Change text colors against light slide backgrounds 54 | @include light-bg-text-color(#222); 55 | 56 | // Theme template ------------------------------ 57 | @import "../template/theme"; 58 | // --------------------------------------------- 59 | -------------------------------------------------------------------------------- /docs/css/theme/README.md: -------------------------------------------------------------------------------- 1 | ## Dependencies 2 | 3 | Themes are written using Sass to keep things modular and reduce the need for repeated selectors across files. Make sure that you have the reveal.js development environment installed before proceeding: https://revealjs.com/installation/#full-setup 4 | 5 | ## Creating a Theme 6 | 7 | To create your own theme, start by duplicating a ```.scss``` file in [/css/theme/source](https://github.com/hakimel/reveal.js/blob/master/css/theme/source). It will be automatically compiled from Sass to CSS (see the [gulpfile](https://github.com/hakimel/reveal.js/blob/master/gulpfile.js)) when you run `npm run build -- css-themes`. 8 | 9 | Each theme file does four things in the following order: 10 | 11 | 1. **Include [/css/theme/template/mixins.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/mixins.scss)** 12 | Shared utility functions. 13 | 14 | 2. **Include [/css/theme/template/settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss)** 15 | Declares a set of custom variables that the template file (step 4) expects. Can be overridden in step 3. 16 | 17 | 3. **Override** 18 | This is where you override the default theme. Either by specifying variables (see [settings.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/settings.scss) for reference) or by adding any selectors and styles you please. 19 | 20 | 4. **Include [/css/theme/template/theme.scss](https://github.com/hakimel/reveal.js/blob/master/css/theme/template/theme.scss)** 21 | The template theme file which will generate final CSS output based on the currently defined variables. 22 | -------------------------------------------------------------------------------- /docs/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 | } 40 | -------------------------------------------------------------------------------- /docs/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 | -------------------------------------------------------------------------------- /docs/js/index.js: -------------------------------------------------------------------------------- 1 | import Deck, { VERSION } from './reveal.js' 2 | 3 | /** 4 | * Expose the Reveal class to the window. To create a 5 | * new instance: 6 | * let deck = new Reveal( document.querySelector( '.reveal' ), { 7 | * controls: false 8 | * } ); 9 | * deck.initialize().then(() => { 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 | [ 'configure', '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.isReady = () => false; 55 | 56 | Reveal.VERSION = VERSION; 57 | 58 | export default Reveal; -------------------------------------------------------------------------------- /docs/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 | // Text that auto-fits its container 20 | .reveal .r-fit-text { 21 | display: inline-block; // https://github.com/rikschennink/fitty#performance 22 | white-space: nowrap; 23 | } 24 | 25 | // Stack multiple elements on top of each other 26 | .reveal .r-stack { 27 | display: grid; 28 | } 29 | 30 | .reveal .r-stack > * { 31 | grid-area: 1/1; 32 | margin: auto; 33 | } 34 | 35 | // Horizontal and vertical stacks 36 | .reveal .r-vstack, 37 | .reveal .r-hstack { 38 | display: flex; 39 | 40 | img, video { 41 | min-width: 0; 42 | min-height: 0; 43 | object-fit: contain; 44 | } 45 | } 46 | 47 | .reveal .r-vstack { 48 | flex-direction: column; 49 | align-items: center; 50 | justify-content: center; 51 | } 52 | 53 | .reveal .r-hstack { 54 | flex-direction: row; 55 | align-items: center; 56 | justify-content: center; 57 | } 58 | 59 | // Naming based on tailwindcss 60 | .reveal .items-stretch { align-items: stretch; } 61 | .reveal .items-start { align-items: flex-start; } 62 | .reveal .items-center { align-items: center; } 63 | .reveal .items-end { align-items: flex-end; } 64 | 65 | .reveal .justify-between { justify-content: space-between; } 66 | .reveal .justify-around { justify-content: space-around; } 67 | .reveal .justify-start { justify-content: flex-start; } 68 | .reveal .justify-center { justify-content: center; } 69 | .reveal .justify-end { justify-content: flex-end; } 70 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![GitHub](https://img.shields.io/github/license/professorjosedeassis/javaSE) 2 | # Programação com Java para iniciantes 3 | Aprenda Java de forma prática e divertida. Este curso também ensina lógica e programação orientada a objetos(POO) criando uma base sólida a todos que desejam iniciar no mundo Java. 4 | ### Conteúdo 5 | * Introdução ao Java 6 | * Ambiente de desenvolvimento 7 | * Fundamentos da Linguagem (variáveis, operadores, estruturas de controle etc.) 8 | * Métodos 9 | * POO (abstração, herança, polimorfismo e encapsulamento) 10 | * Array (simples, multidimensional e dinâmico) 11 | * Exercícios 12 | * ROBOCODE 13 | ### Autor 14 | Professor José de Assis 15 | ### Apresentação 16 | [![Curso Programação com Java para iniciantes](https://img.youtube.com/vi/srNtqw2LEBU/0.jpg)](https://youtu.be/srNtqw2LEBU "Asssistir no YouTube") 17 | 18 | ![YouTube Video Views](https://img.shields.io/youtube/views/srNtqw2LEBU?style=social) 19 | ### Iniciar curso: 20 | ▶️ [Playlist](https://www.youtube.com/playlist?list=PLbEOwbQR9lqxdW98mY-40IZQ5i8ZZyeQx) 21 | ### Certificado deste curso: 22 | 🎓 [Iniciar teste](https://docs.google.com/forms/d/e/1FAIpQLScri9iCaDBShqXUvHRb5qp-iVQZvNrDM8P6TLWWdB8IcDBMpQ/viewform) 23 | 24 | --- 25 | ### Slides de apoio as aulas: 26 | [![Introdução ao Java](https://github.com/professorjosedeassis/javaSE/blob/master/imagens/materialapoio.png)](https://professorjosedeassis.github.io/javaSE/ "Apresentação dos slides") 27 | 28 |
29 | 30 | ### ☕ Projetos sem café? Impossível! 31 | Criar e compartilhar projetos gratuitos exige tempo, dedicação e, claro, muito café! Se quiser apoiar, um "cafezinho" faz toda a diferença.
Sua doação incentiva mais projetos reais e mantém a motivação lá em cima! 32 | #### Chave PIX❖: 33 | ~~~txt 34 | josedeassisfilho@gmail.com 35 | ~~~ 36 | *( em nome de José de Assis Filho )* 37 | 38 | E olha, só de dar uma estrela ⭐, seguir o repositório e compartilhar, você já está dando uma baita força! 39 | 40 | 😃 Valeu demais pelo apoio! 41 | -------------------------------------------------------------------------------- /Curso de Java/exercicios/JogoDado.java: -------------------------------------------------------------------------------- 1 | package exercicios; 2 | 3 | import java.util.Scanner; 4 | 5 | /** 6 | * Exercicio (salvar como UTF-8 para exibir caracteres especiais) 7 | * 8 | * @author Professor Jose de Assis 9 | * 10 | */ 11 | public class JogoDado { 12 | 13 | public static void main(String[] args) { 14 | char novoJogo = 'n'; 15 | Scanner teclado = new Scanner(System.in); 16 | do { 17 | int dado = (int) (Math.random() * 6 + 1); 18 | switch (dado) { 19 | case 1: 20 | System.out.println("╔═══════╗"); 21 | System.out.println("║ ║"); 22 | System.out.println("║ ○ ║"); 23 | System.out.println("║ ║"); 24 | System.out.println("╚═══════╝"); 25 | break; 26 | case 2: 27 | System.out.println("╔═══════╗"); 28 | System.out.println("║ ○ ║"); 29 | System.out.println("║ ║"); 30 | System.out.println("║ ○ ║"); 31 | System.out.println("╚═══════╝"); 32 | break; 33 | case 3: 34 | System.out.println("╔═══════╗"); 35 | System.out.println("║ ○ ║"); 36 | System.out.println("║ ○ ║"); 37 | System.out.println("║ ○ ║"); 38 | System.out.println("╚═══════╝"); 39 | break; 40 | case 4: 41 | System.out.println("╔═══════╗"); 42 | System.out.println("║ ○ ○ ║"); 43 | System.out.println("║ ║"); 44 | System.out.println("║ ○ ○ ║"); 45 | System.out.println("╚═══════╝"); 46 | break; 47 | case 5: 48 | System.out.println("╔═══════╗"); 49 | System.out.println("║ ○ ○ ║"); 50 | System.out.println("║ ○ ║"); 51 | System.out.println("║ ○ ○ ║"); 52 | System.out.println("╚═══════╝"); 53 | break; 54 | case 6: 55 | System.out.println("╔═══════╗"); 56 | System.out.println("║ ○ ○ ║"); 57 | System.out.println("║ ○ ○ ║"); 58 | System.out.println("║ ○ ○ ║"); 59 | System.out.println("╚═══════╝"); 60 | break; 61 | } 62 | System.out.print("Deseja jogar novamente(s/n)? "); 63 | novoJogo = teclado.next().charAt(0); 64 | } while (novoJogo == 's'); 65 | teclado.close(); 66 | } 67 | } -------------------------------------------------------------------------------- /docs/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 | } 30 | 31 | @mixin light-bg-text-color( $color ) { 32 | section.has-light-background { 33 | &, h1, h2, h3, h4, h5, h6 { 34 | color: $color; 35 | } 36 | } 37 | } 38 | 39 | @mixin dark-bg-text-color( $color ) { 40 | section.has-dark-background { 41 | &, h1, h2, h3, h4, h5, h6 { 42 | color: $color; 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /docs/js/utils/color.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Converts various color input formats to an {r:0,g:0,b:0} object. 3 | * 4 | * @param {string} color The string representation of a color 5 | * @example 6 | * colorToRgb('#000'); 7 | * @example 8 | * colorToRgb('#000000'); 9 | * @example 10 | * colorToRgb('rgb(0,0,0)'); 11 | * @example 12 | * colorToRgb('rgba(0,0,0)'); 13 | * 14 | * @return {{r: number, g: number, b: number, [a]: number}|null} 15 | */ 16 | export const colorToRgb = ( color ) => { 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.slice( 0, 2 ), 16 ), 33 | g: parseInt( hex6.slice( 2, 4 ), 16 ), 34 | b: parseInt( hex6.slice( 4, 6 ), 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 | } -------------------------------------------------------------------------------- /docs/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 | // Change text colors against dark slide backgrounds 50 | @include light-bg-text-color(#222); 51 | 52 | 53 | // Theme template ------------------------------ 54 | @import "../template/theme"; 55 | // --------------------------------------------- 56 | 57 | // some overrides after theme template import 58 | 59 | .reveal p { 60 | font-weight: 300; 61 | text-shadow: 1px 1px $coal; 62 | } 63 | 64 | section.has-light-background { 65 | p, h1, h2, h3, h4 { 66 | text-shadow: none; 67 | } 68 | } 69 | 70 | .reveal h1, 71 | .reveal h2, 72 | .reveal h3, 73 | .reveal h4, 74 | .reveal h5, 75 | .reveal h6 { 76 | font-weight: 700; 77 | } 78 | 79 | .reveal p code { 80 | background-color: $codeBackground; 81 | display: inline-block; 82 | border-radius: 7px; 83 | } 84 | 85 | .reveal small code { 86 | vertical-align: baseline; 87 | } -------------------------------------------------------------------------------- /docs/plugin/math/mathjax2.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 | export const MathJax2 = () => { 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: 'mathjax2', 52 | 53 | init: function( reveal ) { 54 | 55 | deck = reveal; 56 | 57 | let revealOptions = deck.getConfig().mathjax2 || deck.getConfig().math || {}; 58 | 59 | let options = { ...defaultOptions, ...revealOptions }; 60 | let mathjax = options.mathjax || 'https://cdn.jsdelivr.net/npm/mathjax@2/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 | -------------------------------------------------------------------------------- /docs/js/controllers/focus.js: -------------------------------------------------------------------------------- 1 | import { closest } from '../utils/util.js' 2 | 3 | /** 4 | * Manages focus when a presentation is embedded. This 5 | * helps us only capture keyboard from the presentation 6 | * a user is currently interacting with in a page where 7 | * multiple presentations are embedded. 8 | */ 9 | 10 | const STATE_FOCUS = 'focus'; 11 | const STATE_BLUR = 'blur'; 12 | 13 | export default class Focus { 14 | 15 | constructor( Reveal ) { 16 | 17 | this.Reveal = Reveal; 18 | 19 | this.onRevealPointerDown = this.onRevealPointerDown.bind( this ); 20 | this.onDocumentPointerDown = this.onDocumentPointerDown.bind( this ); 21 | 22 | } 23 | 24 | /** 25 | * Called when the reveal.js config is updated. 26 | */ 27 | configure( config, oldConfig ) { 28 | 29 | if( config.embedded ) { 30 | this.blur(); 31 | } 32 | else { 33 | this.focus(); 34 | this.unbind(); 35 | } 36 | 37 | } 38 | 39 | bind() { 40 | 41 | if( this.Reveal.getConfig().embedded ) { 42 | this.Reveal.getRevealElement().addEventListener( 'pointerdown', this.onRevealPointerDown, false ); 43 | } 44 | 45 | } 46 | 47 | unbind() { 48 | 49 | this.Reveal.getRevealElement().removeEventListener( 'pointerdown', this.onRevealPointerDown, false ); 50 | document.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false ); 51 | 52 | } 53 | 54 | focus() { 55 | 56 | if( this.state !== STATE_FOCUS ) { 57 | this.Reveal.getRevealElement().classList.add( 'focused' ); 58 | document.addEventListener( 'pointerdown', this.onDocumentPointerDown, false ); 59 | } 60 | 61 | this.state = STATE_FOCUS; 62 | 63 | } 64 | 65 | blur() { 66 | 67 | if( this.state !== STATE_BLUR ) { 68 | this.Reveal.getRevealElement().classList.remove( 'focused' ); 69 | document.removeEventListener( 'pointerdown', this.onDocumentPointerDown, false ); 70 | } 71 | 72 | this.state = STATE_BLUR; 73 | 74 | } 75 | 76 | isFocused() { 77 | 78 | return this.state === STATE_FOCUS; 79 | 80 | } 81 | 82 | destroy() { 83 | 84 | this.Reveal.getRevealElement().classList.remove( 'focused' ); 85 | 86 | } 87 | 88 | onRevealPointerDown( event ) { 89 | 90 | this.focus(); 91 | 92 | } 93 | 94 | onDocumentPointerDown( event ) { 95 | 96 | let revealElement = closest( event.target, '.reveal' ); 97 | if( !revealElement || revealElement !== this.Reveal.getRevealElement() ) { 98 | this.blur(); 99 | } 100 | 101 | } 102 | 103 | } -------------------------------------------------------------------------------- /docs/plugin/math/mathjax3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A plugin which enables rendering of math equations inside 3 | * of reveal.js slides. Essentially a thin wrapper for MathJax 3 4 | * 5 | * @author Hakim El Hattab 6 | * @author Gerhard Burger 7 | */ 8 | export const MathJax3 = () => { 9 | 10 | // The reveal.js instance this plugin is attached to 11 | let deck; 12 | 13 | let defaultOptions = { 14 | tex: { 15 | inlineMath: [ [ '$', '$' ], [ '\\(', '\\)' ] ] 16 | }, 17 | options: { 18 | skipHtmlTags: [ 'script', 'noscript', 'style', 'textarea', 'pre' ] 19 | }, 20 | startup: { 21 | ready: () => { 22 | MathJax.startup.defaultReady(); 23 | MathJax.startup.promise.then(() => { 24 | Reveal.layout(); 25 | }); 26 | } 27 | } 28 | }; 29 | 30 | function loadScript( url, callback ) { 31 | 32 | let script = document.createElement( 'script' ); 33 | script.type = "text/javascript" 34 | script.id = "MathJax-script" 35 | script.src = url; 36 | script.async = true 37 | 38 | // Wrapper for callback to make sure it only fires once 39 | script.onload = () => { 40 | if (typeof callback === 'function') { 41 | callback.call(); 42 | callback = null; 43 | } 44 | }; 45 | 46 | document.head.appendChild( script ); 47 | 48 | } 49 | 50 | return { 51 | id: 'mathjax3', 52 | init: function(reveal) { 53 | 54 | deck = reveal; 55 | 56 | let revealOptions = deck.getConfig().mathjax3 || {}; 57 | let options = {...defaultOptions, ...revealOptions}; 58 | options.tex = {...defaultOptions.tex, ...revealOptions.tex} 59 | options.options = {...defaultOptions.options, ...revealOptions.options} 60 | options.startup = {...defaultOptions.startup, ...revealOptions.startup} 61 | 62 | let url = options.mathjax || 'https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'; 63 | options.mathjax = null; 64 | 65 | window.MathJax = options; 66 | 67 | loadScript( url, function() { 68 | // Reprocess equations in slides when they turn visible 69 | Reveal.addEventListener( 'slidechanged', function( event ) { 70 | MathJax.typeset(); 71 | } ); 72 | } ); 73 | 74 | } 75 | } 76 | 77 | }; 78 | -------------------------------------------------------------------------------- /docs/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 | let scale = this.Reveal.getProgress(); 59 | 60 | // Don't fill the progress bar if there's only one slide 61 | if( this.Reveal.getTotalSlides() < 2 ) { 62 | scale = 0; 63 | } 64 | 65 | this.bar.style.transform = 'scaleX('+ scale +')'; 66 | 67 | } 68 | 69 | } 70 | 71 | getMaxWidth() { 72 | 73 | return this.Reveal.getRevealElement().offsetWidth; 74 | 75 | } 76 | 77 | /** 78 | * Clicking on the progress bar results in a navigation to the 79 | * closest approximate horizontal slide using this equation: 80 | * 81 | * ( clickX / presentationWidth ) * numberOfSlides 82 | * 83 | * @param {object} event 84 | */ 85 | onProgressClicked( event ) { 86 | 87 | this.Reveal.onUserInput( event ); 88 | 89 | event.preventDefault(); 90 | 91 | let slides = this.Reveal.getSlides(); 92 | let slidesTotal = slides.length; 93 | let slideIndex = Math.floor( ( event.clientX / this.getMaxWidth() ) * slidesTotal ); 94 | 95 | if( this.Reveal.getConfig().rtl ) { 96 | slideIndex = slidesTotal - slideIndex; 97 | } 98 | 99 | let targetIndices = this.Reveal.getIndices(slides[slideIndex]); 100 | this.Reveal.slide( targetIndices.h, targetIndices.v ); 101 | 102 | } 103 | 104 | destroy() { 105 | 106 | this.element.remove(); 107 | 108 | } 109 | 110 | } -------------------------------------------------------------------------------- /docs/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()=>{let e,t,n,l,i,o,r;function s(){t=document.createElement("div"),t.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"),n.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){if(13===t.keyCode)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;else 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{e=n,e.registerKeyboardShortcut("CTRL + Shift + F","Search"),document.addEventListener("keydown",(function(e){"F"==e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),t||s(),"inline"!==t.style.display?a():d())}),!1)},open:a}}; 8 | -------------------------------------------------------------------------------- /docs/plugin/zoom/zoom.esm.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * reveal.js Zoom plugin 3 | */ 4 | const e={id:"zoom",init:function(e){e.getRevealElement().addEventListener("mousedown",(function(o){var n=/Linux/.test(window.navigator.platform)?"ctrl":"alt",i=(e.getConfig().zoomKey?e.getConfig().zoomKey:n)+"Key",d=e.getConfig().zoomLevel?e.getConfig().zoomLevel:2;o[i]&&!e.isOverview()&&(o.preventDefault(),t.to({x:o.clientX,y:o.clientY,scale:d,pan:!1}))}))},destroy:()=>{t.reset()}};var t=function(){var e=1,o=0,n=0,i=-1,d=-1,l="transform"in document.body.style;function s(t,o){var n=r();if(t.width=t.width||1,t.height=t.height||1,t.x-=(window.innerWidth-t.width*o)/2,t.y-=(window.innerHeight-t.height*o)/2,l)if(1===o)document.body.style.transform="";else{var i=n.x+"px "+n.y+"px",d="translate("+-t.x+"px,"+-t.y+"px) scale("+o+")";document.body.style.transformOrigin=i,document.body.style.transform=d}else 1===o?(document.body.style.position="",document.body.style.left="",document.body.style.top="",document.body.style.width="",document.body.style.height="",document.body.style.zoom=""):(document.body.style.position="relative",document.body.style.left=-(n.x+t.x)/o+"px",document.body.style.top=-(n.y+t.y)/o+"px",document.body.style.width=100*o+"%",document.body.style.height=100*o+"%",document.body.style.zoom=o);e=o,document.documentElement.classList&&(1!==e?document.documentElement.classList.add("zoomed"):document.documentElement.classList.remove("zoomed"))}function c(){var t=.12*window.innerWidth,i=.12*window.innerHeight,d=r();nwindow.innerHeight-i&&window.scroll(d.x,d.y+(1-(window.innerHeight-n)/i)*(14/e)),owindow.innerWidth-t&&window.scroll(d.x+(1-(window.innerWidth-o)/t)*(14/e),d.y)}function r(){return{x:void 0!==window.scrollX?window.scrollX:window.pageXOffset,y:void 0!==window.scrollY?window.scrollY:window.pageYOffset}}return l&&(document.body.style.transition="transform 0.8s ease"),document.addEventListener("keyup",(function(o){1!==e&&27===o.keyCode&&t.out()})),document.addEventListener("mousemove",(function(t){1!==e&&(o=t.clientX,n=t.clientY)})),{to:function(o){if(1!==e)t.out();else{if(o.x=o.x||0,o.y=o.y||0,o.element){var n=o.element.getBoundingClientRect();o.x=n.left-20,o.y=n.top-20,o.width=n.width+40,o.height=n.height+40}void 0!==o.width&&void 0!==o.height&&(o.scale=Math.max(Math.min(window.innerWidth/o.width,window.innerHeight/o.height),1)),o.scale>1&&(o.x*=o.scale,o.y*=o.scale,s(o,o.scale),!1!==o.pan&&(i=setTimeout((function(){d=setInterval(c,1e3/60)}),800)))}},out:function(){clearTimeout(i),clearInterval(d),s({x:0,y:0},1),e=1},magnify:function(e){this.to(e)},reset:function(){this.out()},zoomLevel:function(){return e}}}(); 5 | /*! 6 | * zoom.js 0.3 (modified for use with reveal.js) 7 | * http://lab.hakim.se/zoom-js 8 | * MIT licensed 9 | * 10 | * Copyright (C) 2011-2014 Hakim El Hattab, http://hakim.se 11 | */export default()=>e; 12 | -------------------------------------------------------------------------------- /docs/plugin/math/katex.js: -------------------------------------------------------------------------------- 1 | /** 2 | * A plugin which enables rendering of math equations inside 3 | * of reveal.js slides. Essentially a thin wrapper for KaTeX. 4 | * 5 | * @author Hakim El Hattab 6 | * @author Gerhard Burger 7 | */ 8 | export const KaTeX = () => { 9 | let deck; 10 | 11 | let defaultOptions = { 12 | version: 'latest', 13 | delimiters: [ 14 | {left: '$$', right: '$$', display: true}, // Note: $$ has to come before $ 15 | {left: '$', right: '$', display: false}, 16 | {left: '\\(', right: '\\)', display: false}, 17 | {left: '\\[', right: '\\]', display: true} 18 | ], 19 | ignoredTags: ['script', 'noscript', 'style', 'textarea', 'pre'] 20 | } 21 | 22 | const loadCss = src => { 23 | let link = document.createElement('link'); 24 | link.rel = 'stylesheet'; 25 | link.href = src; 26 | document.head.appendChild(link); 27 | }; 28 | 29 | /** 30 | * Loads a JavaScript file and returns a Promise for when it is loaded 31 | * Credits: https://aaronsmith.online/easily-load-an-external-script-using-javascript/ 32 | */ 33 | const loadScript = src => { 34 | return new Promise((resolve, reject) => { 35 | const script = document.createElement('script') 36 | script.type = 'text/javascript' 37 | script.onload = resolve 38 | script.onerror = reject 39 | script.src = src 40 | document.head.append(script) 41 | }) 42 | }; 43 | 44 | async function loadScripts(urls) { 45 | for(const url of urls) { 46 | await loadScript(url); 47 | } 48 | } 49 | 50 | return { 51 | id: 'katex', 52 | 53 | init: function (reveal) { 54 | 55 | deck = reveal; 56 | 57 | let revealOptions = deck.getConfig().katex || {}; 58 | 59 | let options = {...defaultOptions, ...revealOptions}; 60 | const {local, version, extensions, ...katexOptions} = options; 61 | 62 | let baseUrl = options.local || 'https://cdn.jsdelivr.net/npm/katex'; 63 | let versionString = options.local ? '' : '@' + options.version; 64 | 65 | let cssUrl = baseUrl + versionString + '/dist/katex.min.css'; 66 | let katexUrl = baseUrl + versionString + '/dist/katex.min.js'; 67 | let mhchemUrl = baseUrl + versionString + '/dist/contrib/mhchem.min.js' 68 | let karUrl = baseUrl + versionString + '/dist/contrib/auto-render.min.js'; 69 | 70 | let katexScripts = [katexUrl]; 71 | if(options.extensions && options.extensions.includes("mhchem")) { 72 | katexScripts.push(mhchemUrl); 73 | } 74 | katexScripts.push(karUrl); 75 | 76 | const renderMath = () => { 77 | renderMathInElement(reveal.getSlidesElement(), katexOptions); 78 | deck.layout(); 79 | } 80 | 81 | loadCss(cssUrl); 82 | 83 | // For some reason dynamically loading with defer attribute doesn't result in the expected behavior, the below code does 84 | loadScripts(katexScripts).then(() => { 85 | if( deck.isReady() ) { 86 | renderMath(); 87 | } 88 | else { 89 | deck.on( 'ready', renderMath.bind( this ) ); 90 | } 91 | }); 92 | 93 | } 94 | } 95 | 96 | }; 97 | -------------------------------------------------------------------------------- /docs/plugin/math/math.esm.js: -------------------------------------------------------------------------------- 1 | const t=()=>{let t,e={messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]],skipTags:["script","noscript","style","textarea","pre"]},skipStartupTypeset:!0};return{id:"mathjax2",init:function(a){t=a;let n=t.getConfig().mathjax2||t.getConfig().math||{},i={...e,...n},s=(i.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js")+"?config="+(i.config||"TeX-AMS_HTML-full");i.tex2jax={...e.tex2jax,...n.tex2jax},i.mathjax=i.config=null,function(t,e){let a=document.querySelector("head"),n=document.createElement("script");n.type="text/javascript",n.src=t;let i=()=>{"function"==typeof e&&(e.call(),e=null)};n.onload=i,n.onreadystatechange=()=>{"loaded"===this.readyState&&i()},a.appendChild(n)}(s,(function(){MathJax.Hub.Config(i),MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.getRevealElement()]),MathJax.Hub.Queue(t.layout),t.on("slidechanged",(function(t){MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.currentSlide])}))}))}}},e=t; 2 | /*! 3 | * This plugin is a wrapper for the MathJax2, 4 | * MathJax3 and KaTeX typesetter plugins. 5 | */ 6 | var a=Plugin=Object.assign(e(),{KaTeX:()=>{let t,e={version:"latest",delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],ignoredTags:["script","noscript","style","textarea","pre"]};const a=t=>new Promise(((e,a)=>{const n=document.createElement("script");n.type="text/javascript",n.onload=e,n.onerror=a,n.src=t,document.head.append(n)}));return{id:"katex",init:function(n){t=n;let i=t.getConfig().katex||{},s={...e,...i};const{local:l,version:o,extensions:r,...c}=s;let d=s.local||"https://cdn.jsdelivr.net/npm/katex",p=s.local?"":"@"+s.version,u=d+p+"/dist/katex.min.css",h=d+p+"/dist/contrib/mhchem.min.js",x=d+p+"/dist/contrib/auto-render.min.js",m=[d+p+"/dist/katex.min.js"];s.extensions&&s.extensions.includes("mhchem")&&m.push(h),m.push(x);const f=()=>{renderMathInElement(n.getSlidesElement(),c),t.layout()};(t=>{let e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)})(u),async function(t){for(const e of t)await a(e)}(m).then((()=>{t.isReady()?f():t.on("ready",f.bind(this))}))}}},MathJax2:t,MathJax3:()=>{let t,e={tex:{inlineMath:[["$","$"],["\\(","\\)"]]},options:{skipHtmlTags:["script","noscript","style","textarea","pre"]},startup:{ready:()=>{MathJax.startup.defaultReady(),MathJax.startup.promise.then((()=>{Reveal.layout()}))}}};return{id:"mathjax3",init:function(a){t=a;let n=t.getConfig().mathjax3||{},i={...e,...n};i.tex={...e.tex,...n.tex},i.options={...e.options,...n.options},i.startup={...e.startup,...n.startup};let s=i.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";i.mathjax=null,window.MathJax=i,function(t,e){let a=document.createElement("script");a.type="text/javascript",a.id="MathJax-script",a.src=t,a.async=!0,a.onload=()=>{"function"==typeof e&&(e.call(),e=null)},document.head.appendChild(a)}(s,(function(){Reveal.addEventListener("slidechanged",(function(t){MathJax.typeset()}))}))}}}});export default a; 7 | -------------------------------------------------------------------------------- /docs/plugin/search/search.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).RevealSearch=t()}(this,(function(){"use strict"; 2 | /*! 3 | * Handles finding a text string anywhere in the slides and showing the next occurrence to the user 4 | * by navigatating to that slide and highlighting it. 5 | * 6 | * @author Jon Snyder , February 2013 7 | */return()=>{let e,t,n,l,o,i,r;function s(){t=document.createElement("div"),t.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"),n.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){if(13===t.keyCode)t.preventDefault(),function(){if(i){var t=n.value;""===t?(r&&r.remove(),l=null):(r=new c("slidecontent"),l=r.apply(t),o=0)}l&&(l.length&&l.length<=o&&(o=0),l.length>o&&(e.slide(l[o].h,l[o].v),o++))}(),i=!1;else i=!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,o=n||"EM",i=new RegExp("^(?:"+o+"|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&&!i.test(t.nodeName)){if(t.hasChildNodes())for(var n=0;n{e=n,e.registerKeyboardShortcut("CTRL + Shift + F","Search"),document.addEventListener("keydown",(function(e){"F"==e.key&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),t||s(),"inline"!==t.style.display?a():d())}),!1)},open:a}}})); 8 | -------------------------------------------------------------------------------- /docs/plugin/zoom/zoom.js: -------------------------------------------------------------------------------- 1 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).RevealZoom=t()}(this,(function(){"use strict"; 2 | /*! 3 | * reveal.js Zoom plugin 4 | */const e={id:"zoom",init:function(e){e.getRevealElement().addEventListener("mousedown",(function(o){var n=/Linux/.test(window.navigator.platform)?"ctrl":"alt",i=(e.getConfig().zoomKey?e.getConfig().zoomKey:n)+"Key",d=e.getConfig().zoomLevel?e.getConfig().zoomLevel:2;o[i]&&!e.isOverview()&&(o.preventDefault(),t.to({x:o.clientX,y:o.clientY,scale:d,pan:!1}))}))},destroy:()=>{t.reset()}};var t=function(){var e=1,o=0,n=0,i=-1,d=-1,l="transform"in document.body.style;function s(t,o){var n=r();if(t.width=t.width||1,t.height=t.height||1,t.x-=(window.innerWidth-t.width*o)/2,t.y-=(window.innerHeight-t.height*o)/2,l)if(1===o)document.body.style.transform="";else{var i=n.x+"px "+n.y+"px",d="translate("+-t.x+"px,"+-t.y+"px) scale("+o+")";document.body.style.transformOrigin=i,document.body.style.transform=d}else 1===o?(document.body.style.position="",document.body.style.left="",document.body.style.top="",document.body.style.width="",document.body.style.height="",document.body.style.zoom=""):(document.body.style.position="relative",document.body.style.left=-(n.x+t.x)/o+"px",document.body.style.top=-(n.y+t.y)/o+"px",document.body.style.width=100*o+"%",document.body.style.height=100*o+"%",document.body.style.zoom=o);e=o,document.documentElement.classList&&(1!==e?document.documentElement.classList.add("zoomed"):document.documentElement.classList.remove("zoomed"))}function c(){var t=.12*window.innerWidth,i=.12*window.innerHeight,d=r();nwindow.innerHeight-i&&window.scroll(d.x,d.y+(1-(window.innerHeight-n)/i)*(14/e)),owindow.innerWidth-t&&window.scroll(d.x+(1-(window.innerWidth-o)/t)*(14/e),d.y)}function r(){return{x:void 0!==window.scrollX?window.scrollX:window.pageXOffset,y:void 0!==window.scrollY?window.scrollY:window.pageYOffset}}return l&&(document.body.style.transition="transform 0.8s ease"),document.addEventListener("keyup",(function(o){1!==e&&27===o.keyCode&&t.out()})),document.addEventListener("mousemove",(function(t){1!==e&&(o=t.clientX,n=t.clientY)})),{to:function(o){if(1!==e)t.out();else{if(o.x=o.x||0,o.y=o.y||0,o.element){var n=o.element.getBoundingClientRect();o.x=n.left-20,o.y=n.top-20,o.width=n.width+40,o.height=n.height+40}void 0!==o.width&&void 0!==o.height&&(o.scale=Math.max(Math.min(window.innerWidth/o.width,window.innerHeight/o.height),1)),o.scale>1&&(o.x*=o.scale,o.y*=o.scale,s(o,o.scale),!1!==o.pan&&(i=setTimeout((function(){d=setInterval(c,1e3/60)}),800)))}},out:function(){clearTimeout(i),clearInterval(d),s({x:0,y:0},1),e=1},magnify:function(e){this.to(e)},reset:function(){this.out()},zoomLevel:function(){return e}}}(); 5 | /*! 6 | * zoom.js 0.3 (modified for use with reveal.js) 7 | * http://lab.hakim.se/zoom-js 8 | * MIT licensed 9 | * 10 | * Copyright (C) 2011-2014 Hakim El Hattab, http://hakim.se 11 | */return()=>e})); 12 | -------------------------------------------------------------------------------- /docs/plugin/math/math.js: -------------------------------------------------------------------------------- 1 | !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).RevealMath=e()}(this,(function(){"use strict";const t=()=>{let t,e={messageStyle:"none",tex2jax:{inlineMath:[["$","$"],["\\(","\\)"]],skipTags:["script","noscript","style","textarea","pre"]},skipStartupTypeset:!0};return{id:"mathjax2",init:function(n){t=n;let a=t.getConfig().mathjax2||t.getConfig().math||{},i={...e,...a},s=(i.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js")+"?config="+(i.config||"TeX-AMS_HTML-full");i.tex2jax={...e.tex2jax,...a.tex2jax},i.mathjax=i.config=null,function(t,e){let n=document.querySelector("head"),a=document.createElement("script");a.type="text/javascript",a.src=t;let i=()=>{"function"==typeof e&&(e.call(),e=null)};a.onload=i,a.onreadystatechange=()=>{"loaded"===this.readyState&&i()},n.appendChild(a)}(s,(function(){MathJax.Hub.Config(i),MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.getRevealElement()]),MathJax.Hub.Queue(t.layout),t.on("slidechanged",(function(t){MathJax.Hub.Queue(["Typeset",MathJax.Hub,t.currentSlide])}))}))}}},e=t;return Plugin=Object.assign(e(),{KaTeX:()=>{let t,e={version:"latest",delimiters:[{left:"$$",right:"$$",display:!0},{left:"$",right:"$",display:!1},{left:"\\(",right:"\\)",display:!1},{left:"\\[",right:"\\]",display:!0}],ignoredTags:["script","noscript","style","textarea","pre"]};const n=t=>new Promise(((e,n)=>{const a=document.createElement("script");a.type="text/javascript",a.onload=e,a.onerror=n,a.src=t,document.head.append(a)}));return{id:"katex",init:function(a){t=a;let i=t.getConfig().katex||{},s={...e,...i};const{local:o,version:l,extensions:r,...c}=s;let d=s.local||"https://cdn.jsdelivr.net/npm/katex",u=s.local?"":"@"+s.version,p=d+u+"/dist/katex.min.css",h=d+u+"/dist/contrib/mhchem.min.js",x=d+u+"/dist/contrib/auto-render.min.js",m=[d+u+"/dist/katex.min.js"];s.extensions&&s.extensions.includes("mhchem")&&m.push(h),m.push(x);const f=()=>{renderMathInElement(a.getSlidesElement(),c),t.layout()};(t=>{let e=document.createElement("link");e.rel="stylesheet",e.href=t,document.head.appendChild(e)})(p),async function(t){for(const e of t)await n(e)}(m).then((()=>{t.isReady()?f():t.on("ready",f.bind(this))}))}}},MathJax2:t,MathJax3:()=>{let t,e={tex:{inlineMath:[["$","$"],["\\(","\\)"]]},options:{skipHtmlTags:["script","noscript","style","textarea","pre"]},startup:{ready:()=>{MathJax.startup.defaultReady(),MathJax.startup.promise.then((()=>{Reveal.layout()}))}}};return{id:"mathjax3",init:function(n){t=n;let a=t.getConfig().mathjax3||{},i={...e,...a};i.tex={...e.tex,...a.tex},i.options={...e.options,...a.options},i.startup={...e.startup,...a.startup};let s=i.mathjax||"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js";i.mathjax=null,window.MathJax=i,function(t,e){let n=document.createElement("script");n.type="text/javascript",n.id="MathJax-script",n.src=t,n.async=!0,n.onload=()=>{"function"==typeof e&&(e.call(),e=null)},document.head.appendChild(n)}(s,(function(){Reveal.addEventListener("slidechanged",(function(t){MathJax.typeset()}))}))}}}})})); 2 | -------------------------------------------------------------------------------- /docs/css/theme/source/dracula.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * Dracula Dark theme for reveal.js. 3 | * Based on https://draculatheme.com 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 | $systemFontsSansSerif: -apple-system, 16 | BlinkMacSystemFont, 17 | avenir next, 18 | avenir, 19 | segoe ui, 20 | helvetica neue, 21 | helvetica, 22 | Cantarell, 23 | Ubuntu, 24 | roboto, 25 | noto, 26 | arial, 27 | sans-serif; 28 | $systemFontsMono: Menlo, 29 | Consolas, 30 | Monaco, 31 | Liberation Mono, 32 | Lucida Console, 33 | monospace; 34 | 35 | /** 36 | * Dracula colors by Zeno Rocha 37 | * https://draculatheme.com/contribute 38 | */ 39 | html * { 40 | color-profile: sRGB; 41 | rendering-intent: auto; 42 | } 43 | 44 | $background: #282A36; 45 | $foreground: #F8F8F2; 46 | $selection: #44475A; 47 | $comment: #6272A4; 48 | $red: #FF5555; 49 | $orange: #FFB86C; 50 | $yellow: #F1FA8C; 51 | $green: #50FA7B; 52 | $purple: #BD93F9; 53 | $cyan: #8BE9FD; 54 | $pink: #FF79C6; 55 | 56 | 57 | 58 | // Override theme settings (see ../template/settings.scss) 59 | $mainColor: $foreground; 60 | $headingColor: $purple; 61 | $headingTextShadow: none; 62 | $headingTextTransform: none; 63 | $backgroundColor: $background; 64 | $linkColor: $pink; 65 | $linkColorHover: $cyan; 66 | $selectionBackgroundColor: $selection; 67 | $inlineCodeColor: $green; 68 | $listBulletColor: $cyan; 69 | 70 | $mainFont: $systemFontsSansSerif; 71 | $codeFont: "Fira Code", $systemFontsMono; 72 | 73 | // Change text colors against light slide backgrounds 74 | @include light-bg-text-color($background); 75 | 76 | // Theme template ------------------------------ 77 | @import "../template/theme"; 78 | // --------------------------------------------- 79 | 80 | // Define additional color effects based on Dracula spec 81 | // https://spec.draculatheme.com/ 82 | :root { 83 | --r-bold-color: #{$orange}; 84 | --r-italic-color: #{$yellow}; 85 | --r-inline-code-color: #{$inlineCodeColor}; 86 | --r-list-bullet-color: #{$listBulletColor}; 87 | } 88 | 89 | .reveal strong, .reveal b { 90 | color: var(--r-bold-color); 91 | } 92 | 93 | .reveal em, .reveal i, .reveal blockquote { 94 | color: var(--r-italic-color); 95 | } 96 | 97 | .reveal code { 98 | color: var(--r-inline-code-color); 99 | } 100 | 101 | // Dracula colored list bullets and numbers 102 | .reveal ul { 103 | list-style: none; 104 | } 105 | 106 | .reveal ul li::before { 107 | content: "•"; 108 | color: var(--r-list-bullet-color); 109 | display: inline-block; 110 | width: 1em; 111 | margin-left: -1em 112 | } 113 | 114 | .reveal ol { 115 | list-style: none; 116 | counter-reset: li; 117 | } 118 | 119 | .reveal ol li::before { 120 | content: counter(li) "."; 121 | color: var(--r-list-bullet-color); 122 | display: inline-block; 123 | width: 2em; 124 | 125 | margin-left: -2.5em; 126 | margin-right: 0.5em; 127 | text-align: right; 128 | } 129 | 130 | .reveal ol li { 131 | counter-increment: li 132 | } 133 | -------------------------------------------------------------------------------- /docs/js/controllers/notes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Handles the showing of speaker notes 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. With