Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
110 lines (96 loc) · 4.25 KB
/
Copy pathindex.html
File metadata and controls
110 lines (96 loc) · 4.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
<!doctype html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Hackathon SouJunior</title>
<!-- Docsify Core Theme -->
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@5/dist/themes/core.min.css">
<!-- SouJunior Custom Theme -->
<link rel="stylesheet" href="theme.css?v=3">
<!-- Dark mode -->
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@5/dist/themes/addons/core-dark.min.css"
media="(prefers-color-scheme: dark)" data-group="addon" data-sheet="core-dark-auto" />
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-55Q4NJDJ');</script>
<!-- End Google Tag Manager -->
</head>
<body class="loading">
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-55Q4NJDJ"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<div id="app">Carregando...</div>
<script>
window.dataLayer = window.dataLayer || [];
window.$docsify = {
name: 'Hackathon SouJunior',
repo: 'https://github.com/SouJunior/hackathon',
loadSidebar: true,
subMaxLevel: 2,
auto2top: true,
relativePath: true,
homepage: '0_index.md',
alias: {
// Índice de cada edição arquivada (Docsify reescreve links do homepage para README)
'/edicoes/(.*)/README': '/edicoes/$1/0_index',
// Links antigos (antes do arquivamento) apontam para a edição de Setembro/2026
'^/(1_inscricao|[2-9]_[^/]*|1[01]_[^/]*)$': '/edicoes/2026-09/$1'
},
search: 'auto',
plugins: [
function(hook, vm) {
const eventMap = {
'2_desafio_site_soujunior.tech': 'view_desafio',
'3_regulamento_oficial_hackathon_soujunior': 'view_regulamento',
'4_briefing_de_produto_novo_soujunior': 'view_briefing',
'6_cronograma_sugerido_15_dias': 'view_cronograma',
'8_submissao': 'view_submissao',
'11_ganhadores': 'view_ganhadores'
};
// Dispara eventos no GTM a cada troca de rota no Docsify (SPA)
hook.doneEach(function() {
const pagePath = window.location.hash.slice(1); // Remove o '#' inicial
const data = {
page_title: document.title,
page_location: window.location.href,
page_path: pagePath || '/'
};
// 1. Envia o pageview padrão
window.dataLayer.push({ event: 'virtualPageview', ...data });
// 2. Envia evento específico se a página for mapeada
for (const pathFragment in eventMap) {
if (pagePath.includes(pathFragment)) {
window.dataLayer.push({ event: eventMap[pathFragment], ...data });
break;
}
}
// 3. Adiciona listener para o botão de inscrição
// Usamos um pequeno timeout para garantir que o Docsify renderizou o conteúdo
setTimeout(() => {
const ctaButton = document.getElementById('cta-inscricao-form');
if (ctaButton && !ctaButton.dataset.gtmListenerAttached) {
ctaButton.addEventListener('click', () => {
window.dataLayer.push({ event: 'generate_lead' });
});
ctaButton.dataset.gtmListenerAttached = 'true';
}
}, 500);
});
}
]
};
</script>
<!-- Docsify core -->
<script src="//cdn.jsdelivr.net/npm/docsify@5"></script>
<!-- Search plugin -->
<script src="//cdn.jsdelivr.net/npm/docsify@5/dist/plugins/search.min.js"></script>
<!-- Syntax highlighting -->
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script>
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-markdown.min.js"></script>
</body>
</html>