Fist Commit in AliceHub

This commit is contained in:
EmersonJSC 2024-05-23 01:23:48 -03:00
parent 9af9e65fed
commit 7420c7f54b
108 changed files with 6640 additions and 393 deletions

2
.bundle/config Normal file
View File

@ -0,0 +1,2 @@
---
BUNDLE_PATH: "vendor/bundle"

0
.gitignore vendored Normal file → Executable file
View File

0
404.html Normal file → Executable file
View File

2
Gemfile Normal file → Executable file
View File

@ -16,8 +16,10 @@ gem "minima", "~> 2.5"
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
gem "jekyll-archives"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do

3
Gemfile.lock Normal file → Executable file
View File

@ -31,6 +31,8 @@ GEM
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-archives (2.2.1)
jekyll (>= 3.6, < 5.0)
jekyll-feed (0.17.0)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (3.0.0)
@ -76,6 +78,7 @@ PLATFORMS
DEPENDENCIES
http_parser.rb (~> 0.6.0)
jekyll (~> 4.3.2)
jekyll-archives
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (>= 1, < 3)

10
_aulas/Como criar uma aula.md Executable file
View File

@ -0,0 +1,10 @@
---
author: Emerson Junio Silva Costa
description: Como criar uma aula no site
date: 19/03/2024
software: [Alice_Cast]
level: Basico
layout: aulas
---
Exportando dados do Hydrogen

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -0,0 +1,10 @@
---
author: Emanuel Silva Sousa
description: Exportando dados no Hydrogen
date: 2023/10/01
software: [Hydrogen]
level: Intermediário
layout: aulas
---
Exportando dados do Hydrogen

Binary file not shown.

View File

@ -0,0 +1,10 @@
---
author: Emerson Junio Silva Costa
description: Importando soundfonts no LMMS
date: 2023/12/01
software: [Soundfonts, LMMS]
level: Avançado
layout: aulas
---
Importando soundfonts no LMMS

Binary file not shown.

View File

@ -0,0 +1,11 @@
---
author: Matheus De Bomfim Rodrigues Jordão
description: Introdução ao Hydrogen
date: 2023/10/01
software: [Hydrogen]
level: Intermediário
layout: aulas
---
Introdução ao Hydrogen

Binary file not shown.

10
_aulas/Introdução ao LMMS.md Executable file
View File

@ -0,0 +1,10 @@
---
author: Emerson Junio Silva Costa
description: Introdução ao LMMS
date: 2023/12/01
software: [LMMS]
level: Básico
layout: aulas
---
Este curso é uma introdução ao LMMS. Nele iremos aprender a criar um primeiro beat nesta ferramenta.

BIN
_aulas/Introdução ao LMMS.mp4 Executable file

Binary file not shown.

BIN
_aulas/Introdução ao LMMS.zip Executable file

Binary file not shown.

View File

@ -0,0 +1,13 @@
---
author: Gabriel Lopes Rocha
description: Introdução ao Pure Data
software: [Pure Data]
level: Básico
layout: aulas
---
Introdução ao Pure Data
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam ornare rutrum erat, et finibus erat volutpat a. Fusce euismod, ligula at pellentesque feugiat, eros eros tempor nisl, quis dictum dolor nulla sit amet elit. Cras id iaculis ante, vitae elementum quam. Nulla et lectus ac nisl euismod aliquam eget vel risus. Suspendisse pellentesque mollis tortor sed aliquam. Nunc vulputate, ante ut elementum vehicula, mi purus maximus purus, id efficitur lorem libero eget tortor. Nulla condimentum sem nec mi pharetra egestas. Etiam est diam, ultricies in euismod nec, aliquet non neque. Aliquam volutpat augue egestas pellentesque efficitur. Nullam non lorem eu nisl sollicitudin volutpat. Integer at elit vitae leo pulvinar blandit. Etiam porttitor vitae leo aliquet rutrum.
Morbi vitae dictum nibh, sed consectetur nunc. Vivamus euismod eu tellus id pellentesque. Mauris nec convallis dui, ut scelerisque lorem. In enim arcu, aliquam ac bibendum vitae, gravida eu quam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Proin sagittis lectus pharetra leo sollicitudin, sit amet maximus purus convallis. Vivamus sit amet turpis eu sem rhoncus accumsan.

Binary file not shown.

View File

@ -0,0 +1,9 @@
---
author: Flávio Luiz Schiavoni
description: Introdução ao Sooper Looper
date: 2023/12/09
software: [Sooper Looper]
level: Básico
layout: aulas
---
Introdução ao Sooper Looper

Binary file not shown.

10
_aulas/Mixando no Hydrogen.md Executable file
View File

@ -0,0 +1,10 @@
---
author: Emanuel Silva Sousa
description: Mixando no Hydrogen
date: 2023/10/01
software: [Hydrogen]
level: Básico
layout: aulas
---
Mixando no Hydrogen

BIN
_aulas/Mixando no Hydrogen.mp4 Executable file

Binary file not shown.

8
_aulas/Mixando no LMMS.md Executable file
View File

@ -0,0 +1,8 @@
---
author: Carlos Eduardo Oliveira de Souza
description: Mixando no LMMS
date: 2023/12/01
software: [LMMS]
layout: aulas
---
Mixando no LMMS

BIN
_aulas/Mixando no LMMS.mp4 Executable file

Binary file not shown.

View File

@ -0,0 +1,11 @@
---
author: Flávio Luiz Schiavoni
description: Usando o Zynaddsub no LMMS
date: 2023/12/01
software: [LMMS, Zynaddsub]
level: Básico
layout: aulas
---
Usando o Zynaddsub no LMMS

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/carlosbolin
lattes: http://lattes.cnpq.br/6697316832233182
layout: autores
---
Pessoa da Música. DJ.

BIN
_autores/Emanuel Silva Sousa.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/R1nBa
lattes: http://lattes.cnpq.br/4966869639421090
layout: autores
---
Pessoa da computação. Toca violão.

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/EmersonJSC/
lattes: http://lattes.cnpq.br/8494846056894900
layout: autores
---
Pessoa da computação. Manja HTML.

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@ -0,0 +1,7 @@
---
github: https://github.com/flschiavoni
lattes: http://lattes.cnpq.br/1259591090948385
layout: autores
---
Professor da computação com cara de professor da filosofia, papo de professor da música.

BIN
_autores/Gabriel Lopes Rocha.jpg Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/gbr-cdc
lattes: http://lattes.cnpq.br/93125671276598013
layout: autores
---
Pessoa da computaçao. Joga malabares.

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/theRealCarneiro
lattes: http://lattes.cnpq.br/2090658657681256
layout: autores
---
Pessoa da computação, especialista em Linux.

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 KiB

View File

@ -0,0 +1,5 @@
---
lattes: http://lattes.cnpq.br/2626209451689208
layout: autores
---
Pessoa da música. Toca tambor.

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/JotaChina
lattes: http://lattes.cnpq.br/0724666760175162
layout: autores
---
Pessoa do Hip Hop.

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

@ -0,0 +1,6 @@
---
github: https://github.com/MatheusJordao03/
lattes: http://lattes.cnpq.br/9330669827537598
layout: autores
---
Pessoa da música. Toca violão.

82
_config.yml Normal file → Executable file
View File

@ -18,45 +18,71 @@
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Your awesome title
email: your-email@example.com
title: ALICE CAST
description: >- # this means to ignore newlines until "baseurl:"
Write an awesome description for your new site here. You can edit this
line in _config.yml. It will appear in your document head meta (for
Google search results) and in your feed.xml site description.
Bem vindo ao sensacional site de cursos do Alice.
baseurl: /alice_cast # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: jekyllrb
github_username: jekyll
# Build settings
theme: minima
plugins:
- jekyll-feed
# collections
collections:
aulas:
output: true
permalink: /:collection/:path
software:
output: true
permalink: /:collection/:path
autores:
output: true
permalink: /:collection/:path
cursos:
output: true
permalink: /cursos/:path/
permalink: /:collection/:path
# collection default setup
defaults:
-
scope:
path: "_aulas"
type: aulas
values:
layout: "aula"
author: "ALICE"
-
scope:
path: "_autores"
type: autores
values:
layout: "author"
-
scope:
path: "_software"
type: software
values:
layout: "software"
-
scope:
path: "_cursos"
type: cursos
values:
layout: "curso"
# config lang
default_lang: pt
languages:
- en
- pt
# Exclude from processing.
# The following items will not be processed, by default.
# Any item listed under the `exclude:` key here will be automatically added to
# the internal "default list".
#
# Excluded items can be processed by explicitly listing the directories or
# their entries' file path in the `include:` list.
#
# exclude:
# - .sass-cache/
# - .jekyll-cache/
# - gemfiles/
# - Gemfile
# - Gemfile.lock
# - node_modules/
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
exclude:
- makefile
- Gemfile
- Gemfile.lock
- makefile
- script
- _aulas/*.mkv

5
_credenciais/Passwd.json Normal file
View File

@ -0,0 +1,5 @@
{
"Emerson":{
"pass": "0000"
}
}

18
_cursos/LMMS.md Normal file → Executable file
View File

@ -1,10 +1,12 @@
---
layout: curso
categoria: Sequencer
lang: pt
title: Curso de LMMS
autor: Emerson Junio
description: Curso de Linux Multimedia Studio
layout: cursos
author: Matheus De Bomfim Rodrigues Jordão
description: Introdução ao Hydrogen
date: 2023/10/01
aulas:
- Introdução ao LMMS
- Mixando no LMMS
- Importando soundfonts no LMMS
- Usando o Zynaddsub no LMMS
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Est placerat in egestas erat imperdiet sed. Magna fermentum iaculis eu non diam. Blandit cursus risus at ultrices. Urna et pharetra pharetra massa massa. Mi bibendum neque egestas congue quisque egestas diam in arcu. Arcu risus quis varius quam quisque. Etiam dignissim diam quis enim lobortis scelerisque fermentum. Bibendum neque egestas congue quisque egestas. Tristique senectus et netus et malesuada fames ac turpis. Quam elementum pulvinar etiam non quam lacus suspendisse. Ac tincidunt vitae semper quis lectus nulla at. Tincidunt lobortis feugiat vivamus at augue eget arcu dictum. Faucibus scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam.
Veja que maneiro é este curso de LMMS

View File

@ -1,10 +0,0 @@
---
layout: curso
categoria: Linguagem de Programação Musical
lang: pt
title: Curso de Pure Data
autor: Flávio Schiavoni
description: Curso de Pure Data
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Est placerat in egestas erat imperdiet sed. Magna fermentum iaculis eu non diam. Blandit cursus risus at ultrices. Urna et pharetra pharetra massa massa. Mi bibendum neque egestas congue quisque egestas diam in arcu. Arcu risus quis varius quam quisque. Etiam dignissim diam quis enim lobortis scelerisque fermentum. Bibendum neque egestas congue quisque egestas. Tristique senectus et netus et malesuada fames ac turpis. Quam elementum pulvinar etiam non quam lacus suspendisse. Ac tincidunt vitae semper quis lectus nulla at. Tincidunt lobortis feugiat vivamus at augue eget arcu dictum. Faucibus scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam.

View File

@ -1,9 +0,0 @@
---
layout: curso
categoria: Aula
lang: pt
title: aula-teste
description: Uma breve descrição do seu site.
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Est placerat in egestas erat imperdiet sed. Magna fermentum iaculis eu non diam. Blandit cursus risus at ultrices. Urna et pharetra pharetra massa massa. Mi bibendum neque egestas congue quisque egestas diam in arcu. Arcu risus quis varius quam quisque. Etiam dignissim diam quis enim lobortis scelerisque fermentum. Bibendum neque egestas congue quisque egestas. Tristique senectus et netus et malesuada fames ac turpis. Quam elementum pulvinar etiam non quam lacus suspendisse. Ac tincidunt vitae semper quis lectus nulla at. Tincidunt lobortis feugiat vivamus at augue eget arcu dictum. Faucibus scelerisque eleifend donec pretium vulputate sapien nec sagittis aliquam.

7
_data/lang/pt.md Executable file
View File

@ -0,0 +1,7 @@
---
menu:
home: "Home"
about: "Sobre"
classes: "Aulas"
authors: "Autores"
---

60
_includes/SideBar.html Executable file
View File

@ -0,0 +1,60 @@
<div class="SideBar full background is-flex is-flex-direction-column">
<div>
<div class="top-sidebar is-flex is-justify-content-center is-align-items-center">
<img
src="{{ site.baseurl }}/assets/images/AliceCastRed.png"
class="image logo"
/>
</div>
</div>
<div>
<aside class="menu">
<ul class="menu-list">
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/index.html">
<span class="menu-txt">Inicio</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/aulas.html">
<span class="menu-txt">Aulas</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/cursos.html">
<span class="menu-txt">Cursos</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/podcasts.html">
<span class="menu-txt">Podcasts</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/autores.html">
<span class="menu-txt">Autores</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/software.html">
<span class="menu-txt">Software</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}/about.html">
<span class="menu-txt">Sobre</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
</ul>
</aside>
</div>
</div>

20
_includes/TopBar.html Executable file
View File

@ -0,0 +1,20 @@
<nav class="is-flex" style="width: 87vw;">
<div class="nav-item is-flex is-flex-grow-1 is-align-items-center ml-6">
<h5 class="is-size-1-mobile"><a class=" LinkName mr-2"></a>/<a class="ml-2">STREAM</a></h5>
<input class="input ml-6 mr-6" placeholder="Pesquisar" />
</div>
<div class="nav-item is-flex is-flex-grow-1 is-align-items-center is-justify-content-flex-end mr-6">
<h4 class="usuario is-size-6 mr-4">Bem vindo</h4>
<figure class="image is-32x32 ">
<img
class="is-rounded"
src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQFqZMMWnIwg5s5uicldr-MVKpmu_2e1KWaIm2wNzp-Oqs4uyaqRGY8TFhBHIdWOMFMYPs&usqp=CAU"
/>
</figure>
</div>
</nav>
<style type="text/css">
</style>

46
_includes/chat.html Executable file
View File

@ -0,0 +1,46 @@
<script>
// Seleciona o campo de entrada e o botão de envio
const messageInput = document.getElementById("messageInput");
const sendButton = document.getElementById("sendButton");
// Adiciona um ouvinte de evento ao botão de envio
sendButton.addEventListener("click", function() {
// Obtém o texto digitado
const messageText = messageInput.value;
// Verifica se o texto não está vazio
if (messageText.trim() !== "") {
// Cria um novo elemento de mensagem enviada
const sentMessage = document.createElement("div");
sentMessage.classList.add("message", "sent");
sentMessage.innerHTML = `
<span class="sent-name">Você</span>
<p>${messageText}</p>
`;
// Adiciona a nova mensagem à caixa de mensagens
const chatContainer = document.querySelector(".chat-container");
chatContainer.appendChild(sentMessage);
// Limpa o campo de entrada
messageInput.value = "";
}
});
</script>
<div class="chat-container chat-background">
<div class="message received">
<span class="received-name">NOME_USUARIO</span>
<p>Olá! Como vai?</p>
</div>
<!-- <div class="chat-line"></div> -->
<div class="message sent">
<span class="sent-name">Você</span>
<p>Olá! Tudo bem, e você?</p>
</div>
<!-- Mais mensagens aqui -->
</div>
<div class="chat-container is-flex is-flex-direction-row" style="height: 100%;">
<input id="messageInput" class="input is-info" type="text" placeholder="Info input">
<button id="sendButton" class="button ml-2 is-link">Enviar</button>
</div>

View File

@ -1,39 +0,0 @@
<ul>
{% for curso in site.cursos %}
<li>
<a href='{{ site.baseurl }}{{ curso.url }}' >
<div class="card mx-1 my-1">
<div class="card-image">
<figure class="image is-1by1">
<img src="../assets/cursos/{{ curso.title }}/header.jpeg">
</figure>
</div>
<div class="card-content">
<div class="content my-2">
<h1 class="title is-size-4">{{ curso.title }}</h1>
<h3 class="subtitle is-size-6">{{ curso.description }}</h3>
</div>
</div>
</div>
</a>
</li>
{% endfor %}
</ul>
<style type="text/css">
.card{
width: 100%;
height: auto;
}
ul{
list-style: none;
padding: 0;
display: flex;
}
li {
margin-right: 20px; /* Espaçamento entre os itens */
}
/* */
</style>

View File

@ -1,78 +0,0 @@
<div class="SideBar full background is-flex is-flex-direction-column">
<div>
<div class="top-sidebar is-flex is-justify-content-center is-align-items-center">
<img
src="{{ site.baseurl }}/assets/images/AliceCastRed.png"
class="image logo"
/>
</div>
</div>
<div>
<aside class="menu">
<ul class="menu-list">
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}{{ site.baseurl }}/index.html">
<span class="menu-txt">Home</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
<li>
<a class="item-menu has-text-white-ter" href="{{ site.baseurl }}{{ site.baseurl }}/cursos.html">
<span class="menu-txt">Cursos</span>
<i class="fa-solid fa-house mx-4"></i>
</a>
</li>
</ul>
</aside>
</div>
</div>
<style type="text/css">
@media only screen and (min-width: 720px) {
.SideBar {
/* background-color: black; */
height: 100%;
width: 200px;
z-index: 1000;
overflow: hidden;
padding-top: 10px;
}
}
@media screen and (max-width: 1080px) {
.SideBar {
/* background-color: black; */
height: 100vh;
width: 70px;
z-index: 1000;
overflow: hidden;
padding-top: 40px;
}
.menu-txt{
display: none;
}
}
.menu{
margin-top: 20px;
}
.top-sidebar {
/* height: 10px; */
width: 100%;
}
.item-menu:hover {
background-color: #b4f2ff;
}
.active {
background-color: #5ce1f4;
}
.background {
background-color: #0b1a33;
}
.logo{
width: 50%;
/* margin-top: 80px; */
}
</style>

View File

@ -1,60 +0,0 @@
<nav class="is-flex">
<div class="nav-item is-flex is-flex-grow-1 is-align-items-center ml-6">
<h5 class="is-size-1-mobile"><a class=" LinkName mr-2"></a>/<a class="ml-2">STREAM</a></h5>
<input class="input ml-6 mr-6" placeholder="Pesquisar" />
</div>
<div class="nav-item is-flex is-flex-grow-1 is-align-items-center is-justify-content-flex-end mr-6">
<h4 class="usuario is-size-6 mr-4">Bem vindo</h4>
<figure class="image is-32x32 ">
<img
class="is-rounded"
src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQFqZMMWnIwg5s5uicldr-MVKpmu_2e1KWaIm2wNzp-Oqs4uyaqRGY8TFhBHIdWOMFMYPs&usqp=CAU"
/>
</figure>
</div>
</nav>
<style type="text/css">
@media only screen and (min-width: 720px) {
nav{
height: 100px;
/* width: 101rem; */
background-color: #0b1a33;
}
}
@media screen and (max-width: 1080px) {
nav{
height: 100px;
/* width: 101rem; */
background-color: #0b1a33;
}
}
input{
width: 300px;
/* height: 40px; */
background-color: #0b1a33;
border-color: #5ce1f4;
color: #fff;
font-family: 'Roboto', sans-serif;
}
input::placeholder{
color: #fff;
font-family: 'Roboto', sans-serif;
}
.nav-item h5 a{
color: #fff;
}
.LinkName{
color: #5ce1f4 !important;
}
.visible{
display: none;
}
.usuario{
color: #fff;
font-family: 'Roboto', sans-serif;
}
</style>

69
_layouts/aulas.html Executable file
View File

@ -0,0 +1,69 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/stylesheet.css">
{% if page.styles %}{{ page.styles }}{% endif %}
<title>
{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
</title>
</head>
<body>
<div class="is-flex is-flex-direction-row is-full-width">
<div class="is-flex">
{% include SideBar.html %}
</div>
<div class="is-flex">
<div class="is-flex-grow-5 is-flex is-flex-direction-column" >
{% include TopBar.html %}
<main>
<div class="aula-title pt-6 pb-6">
<div class="detals-aula is is-flex is-flex-direction-row">
<div class="detals-aula is is-flex is-flex-direction-column is-flex-grow-1">
<h1 class="aula-title">{{ page.title }}</h1>
<h2 class="aula-name">{{ page.software }} - {{ page.level }}</h2>
<h3 class="aula-name">{{ page.author }}</h2>
<h3 class="aula-name">{{ page.date | date: "%d/%m/%Y" }}</h2>
</div>
<div class="download aula is-flex is-flex-grow-1 is-justify-content-flex-end mr-6">
{% assign aula_name = page.name | replace: '.md', '' %}
{% assign zip_file = 'aulas/' | append: aula_name | append: '.zip' %}
<a class="button is-success is-large" href="{{ site.baseurl }}{{ zip_file }}" download>
Download
</a>
</div>
</div>
</div>
<div class=" is-flex is-justify-content-center is-align-content-center mt-3">
{% assign aula_slug = page.name | replace: '.md', '' %}
{% assign video_aula = '' | append: aula_slug | append: '.mp4' %}
<video controls class="aula-video">
<source src="{{ video_aula }}" type="video/mp4">
Seu navegador não suporta o elemento de vídeo.
</video>
</div>
<div class="content-aula mt-3 pt-2 pb-2">
<p>{{ page.content }}</p>
</div>
</main>
</div>
</div>
</div>
<footer>
<!-- Conteúdo do rodapé -->
</footer>
</body>
</html>

51
_layouts/autores.html Executable file
View File

@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/stylesheet.css">
{% if page.styles %}{{ page.styles }}{% endif %}
<title>
{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
</title>
</head>
<body>
<div class="is-flex is-flex-direction-row is-full-width">
<div class="is-flex">
{% include SideBar.html %}
</div>
<div class="is-flex">
<div class="is-flex-grow-5 is-flex is-flex-direction-column" >
{% include TopBar.html %}
<main class="mt-6">
<h1 class="author-title">Detalhes do Autor</h1>
<div class="is-flex is-flex-direction-row author-container">
{% assign author_slug = page.name | replace: '.md', '' %}
{% assign imagem_author = 'autores/' | append: author_slug | append: '.jpg' %}
<img src="{{ site.baseurl }}/{{ imagem_author }}" alt="Imagem do Autor" class="author-img">
<div class="author-info mx-6">
<h2 class="user-title">{{ page.title }}</h2>
<p class="user-details">{{ page.content }}</p>
</div>
</div>
</main>
</div>
</div>
</div>
<footer>
<!-- Conteúdo do rodapé -->
</footer>
</body>
</html>

View File

@ -1,102 +0,0 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<title>
{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
</title>
<body>
</body>
</head>
<div class="is-flex is-flex-direction-row fullheight">
<div class="is-flex-grow-0">
{% include layout/SideBar.html %}
</div>
<div class="is-flex-grow-5 is-flex is-flex-direction-column">
{% include layout/TopBar.html %}
<div class="path has-text-primary-light spacing-page">
<h1 class="is-size-6 has-text-grey">INICIO/{{ page.categoria | upcase }}/{{ page.title | upcase }}</h1>
</div>
<div class="content spacing-page">
<div class="category">
<h1 class="is-size-7 has-text-grey-darker mx-1">{{ page.categoria | upcase }}</h1>
</div>
<div class="title">
<h1 class="title has-text-grey-darker is-size-1">{{page.title | upcase}}</h1>
<br />
<h2> {{ page.autor }}</h2>
</div>
<!-- <div>
<a class="box is-flex is-justify-content-center is-align-items-center my-4" href={`${Assets}/documents/doc.zip`}>
<i class="fa-solid fa-download fa-xl mx-3"></i>
<h1 class="is-size-5">Baixar arquivos do curso</h1>
</a>
</div> -->
<div class="conteudo">
<p>
{{ content }}
</p>
</div>
<div class="player my-3">
<video
class="player"
controls
muted
poster="https://th.bing.com/th/id/OIG.CmLs7pBcHDlZ32VQ5Oa8?pid=ImgGn">
<source src="/assets/cursos/{{ page.title }}/aula.mp4" type="video/mp4">
</video>
</div>
</div>
</div>
</div>
<style>
.fullheight{
height: 100vh;
}
.body{
margin: 0;
padding: 0;
}
.path{
font-weight: 100;
letter-spacing: 3px;
}
.content{
}
.spacing-page{
margin: 2% 10% 0px 10%;
}
.category{
}
.box{
height: auto;
width: 300px;
}
.player{
background-color: aliceblue;
width: 100%;
height: 600px;
object-fit: cover;
}
.player video{
width: 100%;
height: 100%;
}
</style>

128
_layouts/cursos.html Executable file
View File

@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/stylesheet.css">
<!-- Google Fonts -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@24,400,0,0" />
{% if page.styles %}{{ page.styles }}{% endif %}
<title>
{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
</title>
{% assign aulas = site.aulas | sort: 'date' | reverse %}
<script>
const switchGrind = () =>{
var grad = document.getElementById("grad");
var list = document.getElementById("list");
list.classList.add("is-hidden");
grad.classList.remove("is-hidden");
}
const switchList = () =>{
var grad = document.getElementById("grad");
var list = document.getElementById("list");
grad.classList.add("is-hidden");
list.classList.remove("is-hidden");
}
</script>
</head>
<body>
<div class="is-flex is-flex-direction-row is-full-width">
<div class="is-flex">
{% include SideBar.html %}
</div>
<div class="is-flex">
<div class="is-flex-grow-5 is-flex is-flex-direction-column">
{% include TopBar.html %}
<main class="">
<div class="aula-title pt-6 pb-6">
<div class="detals-aula is is-flex is-flex-direction-row">
<div class="detals-aula is is-flex is-flex-direction-column is-flex-grow-1">
<h1 class="aula-title">{{ page.title }}</h1>
<h2 class="aula-name">{{ page.software }} - {{ page.level }}</h2>
<h3 class="aula-name">{{ page.author }}</h2>
<h3 class="aula-name">{{ page.date | date: "%d/%m/%Y" }}</h2>
</div>
</div>
</div>
<div class="is-flex is-flex-direction-row is-align-items-center ">
<h1 class="title pt-6 pb6 pl-6 is-flex-grow-3">Explore as Aulas deste Curso: Descubra o que Está por Vir!</h1>
<div class="is-flex-grow-1 mt-5 ">
<span class="material-symbols-outlined" onclick="switchGrind()" style="cursor: pointer;" >grid_view</span>
<span class="material-symbols-outlined" onclick="switchList()" style="cursor: pointer;" >more_vert</span>
</div>
</div>
<div id="grad" class=" is-flex is-justify-content-center is-align-content-center">
{% assign aulas = site.aulas | sort: 'date' | reverse %}
<div class="columns is-multiline">
{% for aula in aulas %}
{% assign nome = aula.name | replace: ".md","" %}
{% for aulaContent in page.aulas %}
{% if nome == aulaContent %}
<div class="column is-one-third">
<a href='{{ site.baseurl }}{{ aula.url }}.html' class="card-link">
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<img src="{{ site.baseurl }}/thumbs/{{ nome }}.jpg">
</figure>
</div>
<div class="card-content">
<div class="content my-2">
<h1 class="title is-size-4">{{ aula.title }}</h1>
<h3 class="subtitle is-size-6">{{ aula.level }}</h3>
<h3 class="is-size-6">{{ aula.description }}</h3>
<div class="is-flex is-flex-direction-row is-align-items-center ">
<span class="is-size-6 is-flex-grow-4 blue-text">{{ aula.author }}</span>
<span class="is-size-7">{{ aula.date | date: "%d-%m-%y"}}</span>
</div>
</div>
</div>
</div>
</a>
</div>
{% endif %}
{% endfor %}
{% endfor %}
</div>
</div>
<div id="list" class=" is-flex is-flex-direction-column is-justify-content-center is-align-content-center mt-5 is-hidden">
{% for aulaContent in page.aulas %}
{% assign aula_slug = aulaContent | replace: '.md', '' %}
{% assign video_aula = site.baseurl | append: '/aulas/' | append: aula_slug | append: '.mp4' %}
<div class="title-Background px-6">
<h1>{{ aulaContent }}</h1>
</div>
<div class="video-curso">
<video controls class="aula-video">
<source src="{{ video_aula }}" type="video/mp4">
Seu navegador não suporta o elemento de vídeo.
</video>
</div>
{% endfor %}
</div>
</main>
</div>
</div>
</div>
<footer>
<!-- Conteúdo do rodapé -->
</footer>
</body>
</html>

44
_layouts/default.html Normal file → Executable file
View File

@ -5,33 +5,33 @@
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/stylesheet.css">
{% if page.styles %}{{ page.styles }}{% endif %}
<title>
{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
</title>
<body>
</body>
</head>
<div class="is-flex is-flex-direction-row fullheight">
<div class="is-flex-grow-0">
{% include layout/SideBar.html %}
</div>
<body>
<div class="is-flex is-flex-direction-row is-full-width">
<div class="is-flex">
{% include SideBar.html %}
</div>
<div class="is-flex">
<div class="is-flex-grow-5 is-flex is-flex-direction-column">
{% include TopBar.html %}
<main class="">
{{ content }}
</main>
<div class="is-flex-grow-5 is-flex is-flex-direction-column">
{% include layout/TopBar.html %}
{{ content }}
</div>
</div>
<style>
.fullheight{
height: 100vh;
}
.body{
margin: 0;
padding: 0;
}
</style>
</div>
</div>
</div>
<footer>
<!-- Conteúdo do rodapé -->
</footer>
</body>
</html>

37
_layouts/software.html Executable file
View File

@ -0,0 +1,37 @@
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="utf-8">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
<link rel="stylesheet" href="{{ site.baseurl }}/assets/css/stylesheet.css">
{% if page.styles %}{{ page.styles }}{% endif %}
<title>
{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}
</title>
</head>
<body>
<div class="is-flex is-flex-direction-row is-full-width">
<div class="is-flex">
{% include SideBar.html %}
</div>
<div class="is-flex">
<div class="is-flex-grow-5 is-flex is-flex-direction-column" >
{% include TopBar.html %}
<main class="mt-6">
{{ content }}
</main>
</div>
</div>
</div>
<footer>
<!-- Conteúdo do rodapé -->
</footer>
</body>
</html>

6
_software/Hydrogen.md Executable file
View File

@ -0,0 +1,6 @@
---
site: default
layout: software
---
O Pure Data é uma ferramenta muito legal. Vcs precisam conhecer!

4
_software/LMMS.md Executable file
View File

@ -0,0 +1,4 @@
---
site: default
---
O LMMS é uma ferramenta muito legal. Vcs precisam conhecer!

4
_software/Pure Data.md Executable file
View File

@ -0,0 +1,4 @@
---
site: default
---
O Pure Data é uma ferramenta muito legal. Vcs precisam conhecer!

4
_software/Sooper Looper.md Executable file
View File

@ -0,0 +1,4 @@
---
site: default
---
O Sooper Looper é uma ferramenta muito legal. Vcs precisam conhecer!

4
_software/Zynaddsub.md Executable file
View File

@ -0,0 +1,4 @@
---
site: default
---
O ZynAddSub é uma ferramenta muito legal. Vcs precisam conhecer!

View File

@ -1,18 +0,0 @@
---
layout: page
title: About
permalink: /about/
---
This is the base Jekyll theme. You can find out more info about customizing your Jekyll theme, as well as basic Jekyll usage documentation at [jekyllrb.com](https://jekyllrb.com/)
You can find the source code for Minima at GitHub:
[jekyll][jekyll-organization] /
[minima](https://github.com/jekyll/minima)
You can find the source code for Jekyll at GitHub:
[jekyll][jekyll-organization] /
[jekyll](https://github.com/jekyll/jekyll)
[jekyll-organization]: https://github.com/jekyll

41
about.md Executable file
View File

@ -0,0 +1,41 @@
---
layout: default
title: About
lang: pt
---
<h1 class="mt-5">Sobre</h1>
<h2></h2>
## Como criar página de autores:
O nome do autor é definido pelo nome do arquivo .md do mesmo e sua foto é definida com o mesmo nome .jpg.
Um autor deve ter:
``` liquid
---
github: https://github.com/flschiavoni
lattes: http://lattes.cnpq.br/1259591090948385
---
```
## Como criar página de aulas:
O nome da aula é definido pelo nome do arquivo .md da mesma, caso a aula tenha arquivos, os mesmos devem estar em um arquivo zip com o mesmo nome e o vídeo da aula em um arquivo mkv com o mesmo nome. Exemplo:
- Aula Teste para o site.md
- Aula Teste para o site.zip
- Aula Teste para o site.mkv
Uma aula deve ter:
``` liquid
---
author: Flávio Luiz Schiavoni
description: Introdução ao Sooper Looper
date: 2023/12/09
software: [Sooper Looper]
level: Básico | Intermediário | Avançado
---
```

View File

@ -1,6 +0,0 @@
---
layout: default
lang: pt
---
{% include components/card.html %}

314
assets/css/stylesheet.css Executable file
View File

@ -0,0 +1,314 @@
/* Vai ficar um pouco bagunçado, mas por enquanto. */
/* COLORS */
.blue-text{
color: #0b1a33;
}
.blue-background{
background-color: #0b1a33;
}
/* DEFAULT-CSS */
h1{
font-family: 'Roboto', sans-serif;
font-size: 32pt; /* Tamanho da fonte */
}
h2 {
font-family: 'Roboto', sans-serif;
font-size: 1.5em; /* Tamanho da fonte */
color: #333; /* Cor do texto */
}
h3 {
font-family: 'Roboto', sans-serif;
color: #333; /* Cor do texto */
}
.is-full-width{
width: 100%;
}
.is-full{
width: 100%;
height: 100%;
}
/* SIDEBAR-CSS */
@media only screen and (min-width: 720px) {
.SideBar {
/* background-color: black; */
height: 100%;
min-height: 100vh;
width: 25vh;
z-index: 1000;
/* overflow: hidden; */
padding-top: 10px;
}
}
@media screen and (max-width: 1080px) {
.SideBar {
/* background-color: black; */
height: 100vh;
width: 70px;
z-index: 1000;
overflow: hidden;
padding-top: 40px;
}
.menu-txt{
display: none;
}
}
.menu{
margin-top: 20px;
}
.top-sidebar {
/* height: 10px; */
width: 100%;
}
.item-menu:hover {
background-color: #b4f2ff;
}
.active {
background-color: #5ce1f4;
}
.background {
background-color: #0b1a33;
}
.logo{
width: 50%;
/* margin-top: 80px; */
}
p {
word-wrap: break-word; /* Força a quebra de palavras para evitar esticar o item além do contêiner */
}
/* TOPBAR-CSS */
@media only screen and (min-width: 720px) {
nav{
height: 100px;
/* width: 101rem; */
background-color: #0b1a33;
}
}
@media screen and (max-width: 1080px) {
nav{
height: 100px;
/* width: 101rem; */
background-color: #0b1a33;
}
}
input{
width: 300px;
/* height: 40px; */
background-color: #0b1a33;
border-color: #5ce1f4;
color: #fff;
font-family: 'Roboto', sans-serif;
}
input::placeholder{
color: #fff;
font-family: 'Roboto', sans-serif;
}
.nav-item h5 a{
color: #fff;
}
.LinkName{
color: #5ce1f4 !important;
}
.visible{
display: none;
}
.usuario{
color: #fff;
font-family: 'Roboto', sans-serif;
}
.card-container {
display: flex;
flex-wrap: wrap;
gap: 10px; /* Espaçamento entre os cards */
}
/* HOME-CSS */
.about-image{
/* height: 500px; */
}
.home-title{
font-weight: bold;
font-size: 40pt;
/* width: 80%; */
}
.home-text {
display: block;
text-align: center; /* Opcional: centraliza o texto */
text-align: start;
}
.home-image{
width: auto;
height: auto;
}
.home-greeting{
width: 100%;
}
.home-text p{
font-size: 30pt;
}
/* Aulas CSS */
/* .card-container {
display: flex;
flex-wrap: wrap;
flex-direction: row;
gap: 20px;
justify-content: flex-start;
}
.column {
margin-bottom: 20px;
} */
/* AUTORES-CSS */
.author-img{
width: 30%;
height: auto;
}
.author-info{
color: #fff;
}
.author-title{
font-weight: bold;
padding-left: 30px;
}
.author-container{
background-color: #333;
padding: 25px;
}
.user-title{
color: #5ce1f4;
}
.user-details{
color: #5ce1f4;
}
/* AULAS-CSS */
.detals-aula{
}
.aula-title{
font-weight: bold;
padding-left: 30px;
background-color: #333;
color: #fff;
}
.aula-name{
font-size: 12pt;
padding-left: 35px;
color: #5ce1f4;
text-align: start;
}
.aula-video{
width: 95%;
}
.content-aula{
padding-left: 45px;
width: 100%;
background-color: #333;
color: #fff;
}
.content-aula > * {
width: 95%;
}
/* CURSOS */
.disable{
display: none;
}
.title-Background{
background-color: #333;
color: #fff;
}
.video-curso video{
width: 100%;
height: auto;
}
/* CHAT */
.chat-background{
background-color: #333;
}
.chat-container {
width: 40%;
margin: 20px auto;
display: flex;
flex-direction: column;
height: 70vh;
}
/* .chat-line{
width: 100%;
height: 10px;
border-radius: 10px;
} */
.message {
max-width: auto;
margin: 10px;
padding: 10px;
border-radius: 10px;
display: flex;
position: relative;
}
.received {
background-color: #f0f0f0;
justify-content: start;
align-self: flex-start;
/* float: left; */
}
.received-name{
font-size: 6pt;
color: #0b1a33;
font-weight: bold;
text-shadow: -1px -1px 0 #fff,
1px -1px 0 #fff,
-1px 1px 0 #fff,
1px 1px 0 #fff; /* Sombra do texto */
position: absolute;
bottom: 0;
top: -5px;
}
.sent {
background-color: #dcf8c6;
justify-content: end;
align-self: flex-end;
/* float: right; */
}
.sent-name{
font-size: 6pt;
color: #0b1a33;
font-weight: bold;
text-shadow: -1px -1px 0 #fff,
1px -1px 0 #fff,
-1px 1px 0 #fff,
1px 1px 0 #fff; /* Sombra do texto */
position: absolute;
bottom: 0;
top: -5px;
}

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 192 KiB

View File

@ -0,0 +1,18 @@
---
layout: default
title: Enviar Material
lang: pt
---
<div class="mt-3 mx-6">
<h1 class="title">Envie seu material</h1>
<form>
<label>Titulo</label>
<input type="text" class="input" placeholder="Titulo do conteudo"> </input>
<label>Titulo</label>
<input type="text" class="input" placeholder="Titulo do conteudo"> </input>
</form>
</div>

View File

@ -1,7 +1,5 @@
---
layout: default
title: Criar Podcast
lang: pt
---
<h1>Hello Wold</h1>

0
assets/images/AliceCastRed.png Normal file → Executable file
View File

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 195 KiB

BIN
assets/images/about-image.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 KiB

40
aulas.md Executable file
View File

@ -0,0 +1,40 @@
---
layout: default
lang: pt
---
<div class="is-flex is-flex-direction-row mt-6 mx-6 ">
<h1 class="title is-flex-grow-1">Aulas</h1>
<button class="button is-link" id="NovoPodcast">Criar aula</button>
</div>
<div class="mx-6 mt-6">
{% assign aulas = site.aulas | sort: 'date' | reverse %}
<div class="columns is-multiline">
{% for aula in aulas %}
{% assign nome = aula.name | replace: ".md","" %}
<div class="column is-one-third">
<a href='{{ site.baseurl }}{{ aula.url }}.html' class="card-link">
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<img src="{{ site.baseurl }}/thumbs/{{ nome }}.jpg">
</figure>
</div>
<div class="card-content">
<div class="content my-2">
<h1 class="title is-size-4">{{ aula.title }}</h1>
<h3 class="subtitle is-size-6">{{ aula.level }}</h3>
<h3 class="is-size-6">{{ aula.description }}</h3>
<div class="is-flex is-flex-direction-row is-align-items-center ">
<span class="is-size-6 is-flex-grow-4 blue-text">{{ aula.author }}</span>
<span class="is-size-7">{{ aula.date | date: "%d-%m-%y"}}</span>
</div>
</div>
</div>
</div>
</a>
</div>
{% endfor %}
</div>
</div>

33
autores.md Executable file
View File

@ -0,0 +1,33 @@
---
layout: default
lang: pt
---
<div class="is-flex is-flex-direction-row mt-6 mx-6 ">
<h1 class="title is-flex-grow-1">Autores</h1>
<button class="button is-link" id="NovoPodcast">Cadastrar como autor</button>
</div>
<div class="mx-6 mt-6">
{% assign autores = site.autores | sort: 'name' %}
<div class="columns is-multiline">
{% for autor in autores %}
{% assign nome = autor.name | replace: ".md","" %}
<div class="column is-one-third">
<a href='{{ site.baseurl }}{{ autor.url }}.html' class="card-link">
<div class="card">
<div class="card-image">
<figure class="image is-square">
<img src="{{ site.baseurl }}/autores/{{ nome }}.jpg">
</figure>
</div>
<div class="card-content">
<div class="content my-2">
<h1 class="title is-size-4">{{ nome }}</h1>
</div>
</div>
</div>
</a>
</div>
{% endfor %}
</div>
</div>

5
chat.md Executable file
View File

@ -0,0 +1,5 @@
---
layout: default
---
{% include chat.html %}

38
cursos.md Executable file
View File

@ -0,0 +1,38 @@
---
layout: default
lang: pt
---
<div class="is-flex is-flex-direction-row mt-6 mx-6 ">
<h1 class="title is-flex-grow-1">Cursos</h1>
<button class="button is-link" id="NovoPodcast">Criar curso</button>
</div>
<div class="mx-6 mt-6">
{% assign cursos = site.cursos | sort: 'date' | reverse %}
<div class="columns is-multiline">
{% for curso in cursos %}
{% assign nome = curso.name | replace: ".md","" %}
<div class="column is-one-third">
<a href='{{ site.baseurl }}{{ curso.url }}.html' class="card-link">
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<img src="{{ site.baseurl }}/thumbs/{{ nome }}.jpg">
</figure>
</div>
<div class="card-content">
<div class="content my-2">
<h1 class="title is-size-4">{{ curso.title }}</h1>
{% for aula in curso.aulas %}
<span class="tag is-link">{{ aula }}</span>
{% endfor %}
<h3 class="subtitle is-size-6">{{ curso.description }}</h3>
<h3 class="subtitle is-size-6">{{ curso.author }}</h3>
</div>
</div>
</div>
</a>
</div>
{% endfor %}
</div>
</div>

View File

37
index.md Executable file
View File

@ -0,0 +1,37 @@
---
layout: default
---
<div class="is-flex is-flex-direction-row home-greeting is-justify-content-end px-6">
<div class="is-flex is-justify-content-center is-flex-direction-column">
<h1 class="home-title">Bem-vindo ao nosso espaço educacional aberto!</h1>
<p class="home-text">
<br > Aqui você encontrará uma comunidade colaborativa onde o conhecimento é compartilhado livremente. <br > Explore cursos, aulas e materiais educativos criados por diversos colaboradores. Sinta-se à vontade para contribuir, modificar e expandir o aprendizado coletivo. <br> Juntos, vamos construir uma plataforma educacional inclusiva e dinâmica!
</p>
</div>
<div class="home-image is-flex">
<img
class="about-image"
src="{{ site.baseurl }}/assets/images/about-image.png"
/>
</div>
</div>
<h1 class="home-title px-6" >Confira nossos cursos</h1>
{% assign cursos = site.cursos | sort: 'date' %}
<ul class="aula px-6">
{% for curso in cursos %}
{% assign nome = curso.name | replace: ".md","" %}
<li>
<a href='{{ site.baseurl }}{{ curso.url }}.html' >
<div class="card mx-1 my-1">
<div class="card-content">
<div class="content my-2">
<h1 class="title is-size-4">{{ nome }}</h1>
</div>
</div>
</div>
</a>
</li>
{% endfor %}

35
login/index.md Normal file
View File

@ -0,0 +1,35 @@
---
layout: default
title: About
lang: pt
---
<div class="auth-conteiner is-flex is-align-items-center is-justify-content-center">
<div class="box">
<h1 class="has-text-centered is-size-4 has-text-weight-semibold mb-6">Entrar no AliceCast</h1>
<form>
<label>Login:</label>
<input class="input my-3">
<label>Senha:</label>
<input class="input my-3">
<button class="button is-fullwidth mt-4">Logar</button>
</form>
<p class="mt-4">Esqueceu sua senha? <a>Lembre-se aqui</a></p>
</div>
</div>
<style>
.auth-conteiner{
position: absolute;
top: 0%;
right: 0%;
width: 100%;
height: 100%;
font-family: 'Roboto', sans-serif;
}
.box{
width: 20vw;
}
</style>

32
makefile Normal file → Executable file
View File

@ -1,9 +1,29 @@
command = env LANG=\"pt_BR.UTF-8\" /usr/bin/bundle exec /usr/local/bin/jekyll build --incremental --trace --destination=/var/www/html/alice_cast --source=/var/www/src/Alice_JK 2>&1
#command = env LANG=\"pt_BR.UTF-8\" /usr/bin/bundle exec /usr/local/bin/jekyll build --incremental --trace --destination=/var/www/html/alice_cast --source=/var/www/src/Alice_JK 2>&1
#command = script/script.sh && /usr/bin/bundle exec /usr/local/bin/jekyll build --trace --destination=/var/www/html/alice_cast --source=/var/www/src/Alice_JK 2>&1
JEKYLL_CMD = bundle exec jekyll
SRC_PATH = /var/www/src/Alice_JK
DEST_PATH = /var/www/html/alice_cast
LOG_PATH = /tmp/alicecast-jekyll.log
DEST_DIR_FLAGS = --destination=${DEST_PATH}
SRC_DIR_FLAGS = --source=${SRC_PATH}
BUILD_FLAGS = --trace --incremental
SERVE_FLAGS = -H 0.0.0.0 -P 33002
all:
# /usr/bin/sg www-data -c "$(command)"
$(command)
sg www-data -c "${JEKYLL_CMD} build ${BUILD_FLAGS} ${SRC_DIR_FLAGS} ${DEST_DIR_FLAGS}"
reboot:
rm -rf /var/www/html/alice_cast/*
$(command)
# Executa o build toda vez que muda um arquivo
# Rodando como serviço do systemd em /etc/systemd/system/alicecast-build-watch.service
# examplo: sg www-data -c 'make watch'
watch:
${JEKYLL_CMD} build {BUILD_FLAGS} ${DEST_DIR_FLAGS} ${SRC_DIR_FLAGS} -w
serve:
${JEKYLL_CMD} serve ${SRC_DIR_FLAGS} ${SERVE_FLAGS}
clean:
rm -rf ${DEST_PATH}/*

19
podcasts.md Normal file
View File

@ -0,0 +1,19 @@
---
layout: default
title: Podcasts
lang: pt
---
<div class="is-flex is-flex-direction-row mt-6 mx-6 ">
<h1 class="title is-flex-grow-1">Podcasts</h1>
<button class="button is-link" id="NovoPodcast">Criar um novo podcast</button>
</div>
<script>
const createPodcastButton = document.getElementById('NovoPodcast');
createPodcastButton.addEventListener('click', function() {
window.location.href = '{{ site.baseurl }}/assets/extend/podcasts/criarPodcast.html'; // Replace with your actual target URL
});
</script>

23
script/README Executable file
View File

@ -0,0 +1,23 @@
Script para automação de edição de vídeos do nosso canal.
Desenvolvido por Flávio Schiavoni em Dezembro de 2023.
Este script contém os seguintes arquivos:
- README - Este arquivo.
- data.md - Arquivo com os meta dados do curso.
- intro.mmpz - Arquivo do LMMS com a trilha da abertura do vídeo.
- intro.wav - Arquivo com a trilha da abertura do vídeo.
- intro.svg - Desenho vetorial com os dados da abertura do vídeo.
- teste2.mkv - Arquivo de vídeo que seria o curso em si.
- logo.png - Logo a ser usada como marca d'água do vídeo.
- watermark.svg - Desenho vetorial com o GC do autor.
- credits.svg - Desenho vetorial com os créditos para o final do vídeo.
- credits.wav - Arquivo com a trilha dos créditos.
- script.sh - Arquivo que faz isso tudo de modo automático usando os comandos ffmpeg e sed.
Explicando passo a passo o script:
- O script pega os meta-dados do arquivo data.md para definir sua configuração. Os dados sobre o autor, título e nome do vídeo são informados no data.md.
- O script irá gerar um arquivo de vídeo temporário, chamado tmp-intro.mkv, com a imagem e trilha da introdução, substituindo as strings "curso" e "nomenome" do arquivo intro.svg pelo nome do curso e nome do autor.
- Depois, fará o mesmo para gerar o arquivo de créditos do vídeo (tmp-credits.mkv), porém, sem efetuas substituições no arquivo svg original.
- Depois disso, irá tratar o áudio do vídeo original, normalizando-o e salvando-o no arquivo tmp-normalized.mkv.
- Irá então mesclar o vídeo do curso (teste2.mkv) com o arquivo logo.png e a marca d'água presente no arquivo watermark.svg substituindo neste arquivo a string "nomenome"pelo nome do autor e "curso" pelo título. Este arquivo será salvo com o nome tmp-video.mkv.
- O script irá então unir os 3 arquivos em um único arquivo.

4142
script/credits.svg Executable file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 309 KiB

BIN
script/credits.wav Executable file

Binary file not shown.

6
script/data.md Executable file
View File

@ -0,0 +1,6 @@
---
author: Flávio Luiz Schiavoni
date: 12/12/2023
title: Curso de shell script
video: teste2.mkv
---

BIN
script/intro.mmpz Executable file

Binary file not shown.

959
script/intro.svg Executable file
View File

@ -0,0 +1,959 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1920"
height="1080"
viewBox="0 0 508 285.75"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="intro.svg"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.32620784"
inkscape:cx="996.29733"
inkscape:cy="654.49071"
inkscape:window-width="1296"
inkscape:window-height="704"
inkscape:window-x="70"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" /><defs
id="defs2" /><g
inkscape:label="Camada 1"
inkscape:groupmode="layer"
id="layer1"><rect
style="opacity:0.9;fill:#ececec;stroke-width:0.1;stroke-opacity:0.903051"
id="rect368"
width="554.28259"
height="300.4014"
x="-15.152804"
y="-7.4028754"
ry="3.9869003" /><image
width="60.854168"
height="79.375"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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
"
id="image198"
x="39.197491"
y="25.090725" /><text
xml:space="preserve"
style="font-size:36.0993px;line-height:1.25;font-family:sans-serif;stroke-width:3.38429"
x="115.92052"
y="40.716591"
id="text256"><tspan
sodipodi:role="line"
id="tspan254"
style="stroke-width:3.38429"
x="115.92052"
y="40.716591">ALICE</tspan><tspan
sodipodi:role="line"
style="stroke-width:3.38429"
x="115.92052"
y="85.840714"
id="tspan371">Apresenta:</tspan></text><text
xml:space="preserve"
style="font-size:42.4042px;line-height:1.25;font-family:sans-serif;stroke-width:3.97538"
x="88.322395"
y="166.67043"
id="text310"><tspan
sodipodi:role="line"
id="tspan308"
style="stroke-width:3.97538"
x="88.322395"
y="166.67043">curso</tspan></text><text
xml:space="preserve"
style="font-size:41.2491px;line-height:1.25;font-family:sans-serif;stroke-width:3.86709"
x="152.89662"
y="238.03685"
id="text314"><tspan
sodipodi:role="line"
id="tspan312"
style="stroke-width:3.86709"
x="152.89662"
y="238.03685">nomenome</tspan></text></g></svg>

After

Width:  |  Height:  |  Size: 68 KiB

BIN
script/intro.wav Executable file

Binary file not shown.

BIN
script/logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

19
script/mkvFmp4.sh Executable file
View File

@ -0,0 +1,19 @@
#!/bin/bash
# Pasta de origem dos arquivos .mkv
SOURCE_DIR="_aulas/"
# Pasta de destino dos arquivos .mp4
DEST_DIR="_aulas/"
# Loop pelos arquivos .mkv na pasta de origem
for mkv_file in ${SOURCE_DIR}/*.mkv; do
# Nome do arquivo sem extensão
base_name=$(basename "$mkv_file" .mkv)
# Caminho do arquivo de saída .mp4
mp4_file="${DEST_DIR}/${base_name}.mp4"
# Converter .mkv para .mp4
ffmpeg -i "$mkv_file" -c:v libx264 -preset slow -crf 22 -c:a aac -strict experimental "$mp4_file"
done

96
script/script.sh Executable file
View File

@ -0,0 +1,96 @@
#!/bin/sh
SRC=_aulas/
# ####################################
# Creating the credits clip
# ####################################
if test tmp-credits.mkv -ot credits.svg ; then
ffmpeg -y -loop 1 -i credits.svg -i credits.wav -shortest tmp-credits.mkv
fi
# ####################################
# Creating dest dir
# ####################################
mkdir -p thumbs
mkdir -p videos
for aula in ./${SRC}*.md; do
# ####################################
# Getting parameters from aulas
# ####################################
NAME="$(basename "${aula}" .md)"
AUTHOR=$(grep "^author: " "${aula}" | sed -e 's/author: //g')
INPUT="${SRC}${NAME}.mkv"
SCRIPT=$(dirname $0)"/"
echo "########################################"
echo "# Aula: ${aula}"
echo "# Author: ${AUTHOR}"
echo "# Input: ${INPUT}"
echo "# Src: ${SRC}"
echo "# Name: ${NAME}"
echo "# Script Path: ${SCRIPT}"
echo "########################################"
# ####################################
# Creating the thumbnail if does not exist
# ####################################
if test ! -f "thumbs/${NAME}.jpg" ; then
ffmpeg -y -i "${INPUT}" -vframes 1 -an -s 400x222 -ss 30 "thumbs/${NAME}.jpg"
fi
# ####################################
# if output exist, continue
# ####################################
if test -f "videos/${NAME}.mp4" ; then
continue
fi
# ####################################
# Creating the intro clip
# ####################################
sed "s/nomenome/$AUTHOR/g" ${SCRIPT}intro.svg | sed "s/curso/${NAME}/g" > ${SCRIPT}tmp-intro.svg
ffmpeg -y -loop 1 -i ${SCRIPT}tmp-intro.svg -i ${SCRIPT}intro.wav -shortest ${SCRIPT}tmp-intro.mkv
# ###################################################
# Audio adjustment
# ###################################################
# Some possible options
# -af loudnorm
# -af dynaudnorm=p=1
# -af speechnorm=e=12.5:r=0.0001:l=1
# -af acompressor=threshold=0.089:ratio=9:attack=200:release=1000:makeup=2
ffmpeg -y -i "${INPUT}" -af dynaudnorm=p=1 ${SCRIPT}tmp-normalized.mkv
# ####################################################
# Wartermarking the video file
# ####################################################
sed "s/nomenome/$AUTHOR/g" ${SCRIPT}watermark.svg | sed "s/curso/${NAME}/g" > ${SCRIPT}tmp-watermark.svg
# add watermark to video
ffmpeg -y -i ${SCRIPT}tmp-normalized.mkv -i ${SCRIPT}tmp-watermark.svg -i ${SCRIPT}logo.png -filter_complex "[0][1]overlay=5:H-h-5:format=auto[bg];[bg][2]overlay=W-w-5:5:format=auto" -c:a copy ${SCRIPT}tmp-video.mkv
# ####################################################
# Concatenating videos
# ####################################################
PARAM="scale=1920:1080: force_original_aspect_ratio=decrease: eval=frame,pad=1920:1080: -1:-1:color=black"
ffmpeg -y \
-i ${SCRIPT}tmp-intro.mkv \
-i ${SCRIPT}tmp-video.mkv \
-i ${SCRIPT}tmp-credits.mkv \
-filter_complex \
"[0:v]$PARAM[v0]; [1:v]$PARAM[v1]; [2:v]$PARAM[v2]; [v0][0:a][v1][1:a][v2][2:a] concat=n=3:v=1:a=1 [v] [a]" \
-map [v] -map [a] \
-s hd720 \
-vcodec libx264 \
-pix_fmt yuv420p \
-vsync 2 \
"videos/${NAME}.mp4"
done
rm -f ${SCRIPT}tmp-intro.svg
rm -f ${SCRIPT}tmp-intro.mkv
rm -f ${SCRIPT}tmp-normalized.mkv
rm -f ${SCRIPT}tmp-watermark.svg
rm -f ${SCRIPT}tmp-video.mkv

BIN
script/tmp-credits.mkv Executable file

Binary file not shown.

66
script/watermark.svg Executable file
View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="1920"
height="1080"
viewBox="0 0 508 285.75"
version="1.1"
id="svg5"
inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
sodipodi:docname="watermark.svg"
xml:space="preserve"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:document-units="mm"
showgrid="false"
inkscape:zoom="0.52838295"
inkscape:cx="215.75261"
inkscape:cy="967.10161"
inkscape:window-width="972"
inkscape:window-height="481"
inkscape:window-x="232"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="layer1" /><defs
id="defs2" /><g
inkscape:label="Camada 1"
inkscape:groupmode="layer"
id="layer1"><rect
style="opacity:0.9;fill:#000080;stroke-width:0.0327653;stroke-opacity:0.903051"
id="rect438"
width="134.98392"
height="24.618752"
x="-8.3021221"
y="267.10001"
ry="1.4850422" /><text
xml:space="preserve"
style="font-size:12.024px;line-height:1.25;font-family:sans-serif;stroke-width:0.2505"
x="3.3963866"
y="275.7583"
id="text442"><tspan
sodipodi:role="line"
id="tspan440"
style="font-size:12.024px;fill:#ececec;stroke-width:0.2505"
x="3.3963866"
y="275.7583">nomenome</tspan></text><text
xml:space="preserve"
style="font-size:7.00789px;line-height:1.25;font-family:sans-serif;fill:#ffff00;stroke-width:0.145998"
x="7.0512381"
y="284.02911"
id="text442-3"><tspan
sodipodi:role="line"
id="tspan440-6"
style="font-size:7.00789px;fill:#ffff00;stroke-width:0.145998"
x="7.0512381"
y="284.02911">curso</tspan></text></g></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

24
software.md Executable file
View File

@ -0,0 +1,24 @@
---
layout: default
lang: pt
---
<div class="is-flex is-flex-direction-row mt-6 mx-6 ">
<h1 class="title is-flex-grow-1">Software</h1>
<button class="button is-link" id="NovoPodcast">Cadastrar software</button>
</div>
<div class="mx-6 mt-6">
<div id="archives">
<div class="archive-group is-flex is-justify-content-center">
{% for software in site.software %}
{% assign name = software.name | replace: ".md", "" %}
<a href='{{ site.baseurl }}{{ software.url }}.html' class="mx-2" >
<div class="tags are-large">
<h1 class="title is-size-4 tag is-link">{{ name }}</h1>
</div>
</a>
{% endfor %}
</div>
</div>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Some files were not shown because too many files have changed in this diff Show More