diff --git a/README.md b/README.md
index 1ea345b6..75a49f33 100644
--- a/README.md
+++ b/README.md
@@ -83,4 +83,4 @@ yarn format
## Parceiros
-[![Powered by Vercel](./src/images/powered-by-vercel.svg)](https://vercel.com/?utm_source=leic-pt&utm_campaign=oss)
+[![Deploys by Netlify](./src/images/netlify-dark.svg)](https://www.netlify.com)
diff --git a/gatsby-config.js b/gatsby-config.js
index 1649a01f..6361a5c2 100644
--- a/gatsby-config.js
+++ b/gatsby-config.js
@@ -40,7 +40,7 @@ module.exports = {
githubLink: 'https://github.com/leic-pt/resumos-leic',
contributionGuideLink: 'https://docs.leic.pt',
contributorsLink: 'https://github.com/leic-pt/resumos-leic/graphs/contributors',
- vercelLink: 'https://vercel.com/?utm_source=leic-pt&utm_campaign=oss',
+ netlifyLink: 'https://www.netlify.com',
},
search: {
host: 'https://meilisearch.diogotc.com',
diff --git a/netlify.toml b/netlify.toml
new file mode 100644
index 00000000..5e12f3c3
--- /dev/null
+++ b/netlify.toml
@@ -0,0 +1,547 @@
+[[redirects]]
+from = "/cdi-ii/0001-transicao-para-dim-sup-1.html"
+to = "/cdi-ii/transicao-para-dim-sup-1"
+
+[[redirects]]
+from = "/cdi-ii/0002-norma-topologia.html"
+to = "/cdi-ii/norma-topologia"
+
+[[redirects]]
+from = "/cdi-ii/0003-funcoes-continuidade.html"
+to = "/cdi-ii/funcoes-continuidade"
+
+[[redirects]]
+from = "/cdi-ii/0004-diferenciabilidade.html"
+to = "/cdi-ii/diferenciabilidade"
+
+[[redirects]]
+from = "/cdi-ii/0005-derivada-composta.html"
+to = "/cdi-ii/derivada-composta"
+
+[[redirects]]
+from = "/cdi-ii/0006-conjunto-de-nivel.html"
+to = "/cdi-ii/conjunto-de-nivel"
+
+[[redirects]]
+from = "/cdi-ii/0007-derivada-ordem-superior.html"
+to = "/cdi-ii/derivada-de-ordem-superior"
+
+[[redirects]]
+from = "/cdi-ii/0008-integracao.html"
+to = "/cdi-ii/integracao"
+
+[[redirects]]
+from = "/cdi-ii/0009-integracao-funcoes.html"
+to = "/cdi-ii/integracao-funcoes"
+
+[[redirects]]
+from = "/cdi-ii/0010-integracao-mudanca-var.html"
+to = "/cdi-ii/integracao-mudanca-var"
+
+[[redirects]]
+from = "/cdi-ii/0011-aplicacoes-integral.html"
+to = "/cdi-ii/aplicacoes-integral"
+
+[[redirects]]
+from = "/cdi-ii/0012-teorema-leibniz.html"
+to = "/cdi-ii/teorema-leibniz"
+
+[[redirects]]
+from = "/cdi-ii/0013-funcao-inversa.html"
+to = "/cdi-ii/funcao-inversa"
+
+[[redirects]]
+from = "/cdi-ii/0014-variedades.html"
+to = "/cdi-ii/variedades"
+
+[[redirects]]
+from = "/cdi-ii/0015-extremos-condicionados.html"
+to = "/cdi-ii/extremos-condicionados"
+
+[[redirects]]
+from = "/cdi-ii/0016-campos-vetoriais.html"
+to = "/cdi-ii/campos-vetoriais"
+
+[[redirects]]
+from = "/cdi-ii/0017-green-fluxo-divergencia.html"
+to = "/cdi-ii/teorema-de-green"
+
+[[redirects]]
+from = "/cdi-ii/0018-fluxo-divergencia.html"
+to = "/cdi-ii/fluxo-teorema-divergencia"
+
+[[redirects]]
+from = "/cdi-ii/0019-rotacional-stokes.html"
+to = "/cdi-ii/rotacional-teorema-stokes"
+
+[[redirects]]
+from = "/cdi-ii/exercicios/fichas-aulas-praticas.html"
+to = "/cdi-ii/exercicios/fichas-aulas-praticas"
+
+[[redirects]]
+from = "/md/0001-perturbacoes.html"
+to = "/md/perturbacoes"
+
+[[redirects]]
+from = "/md/0002-introducao-calculo-finito.html"
+to = "/md/introducao-calculo-finito"
+
+[[redirects]]
+from = "/md/0003-formulas-fechadas-somatorios.html"
+to = "/md/formulas-fechadas-somatorios"
+
+[[redirects]]
+from = "/md/0004-serie-harmonica.html"
+to = "/md/serie-harmonica"
+
+[[redirects]]
+from = "/md/0005-inducao-matematica.html"
+to = "/md/inducao-matematica"
+
+[[redirects]]
+from = "/md/0006-formula-de-abel.html"
+to = "/md/formula-de-abel"
+
+[[redirects]]
+from = "/md/0007-funcoesgeradoras.html"
+to = "/md/funcoes-geradoras"
+
+[[redirects]]
+from = "/md/0008-teonewton.html"
+to = "/md/teorema-de-newton"
+
+[[redirects]]
+from = "/md/0009-combinatorio.html"
+to = "/md/calculo-combinatorio"
+
+[[redirects]]
+from = "/md/0010-diffinitas.html"
+to = "/md/equacoes-diferencas-finitas"
+
+[[redirects]]
+from = "/md/0011-FFT.html"
+to = "/md/fft"
+
+[[redirects]]
+from = "/md/0012-MDC.html"
+to = "/md/mdc-eq-diofantinas"
+
+[[redirects]]
+from = "/md/0013-calendario.html"
+to = "/md/calendario"
+
+[[redirects]]
+from = "/md/0014-pascoa.html"
+to = "/md/pascoa"
+
+[[redirects]]
+from = "/md/0015-congruencias.html"
+to = "/md/congruencias"
+
+[[redirects]]
+from = "/md/0016-chines-restos.html"
+to = "/md/teorema-chines-restos"
+
+[[redirects]]
+from = "/md/0017-rsa.html"
+to = "/md/rsa"
+
+[[redirects]]
+from = "/md/0018-grafos-def.html"
+to = "/md/grafos"
+
+[[redirects]]
+from = "/md/0019-pombal.html"
+to = "/md/principio-pombal"
+
+[[redirects]]
+from = "/md/0020-labirintos.html"
+to = "/md/labirintos"
+
+[[redirects]]
+from = "/md/0021-galeshapley.html"
+to = "/md/relacionamentos-gale-shapley"
+
+[[redirects]]
+from = "/md/0022-kruskraldijkrsta.html"
+to = "/md/kruskal-dijkstra"
+
+[[redirects]]
+from = "/md/0023-teoriadofluxo.html"
+to = "/md/teoria-fluxo"
+
+[[redirects]]
+from = "/md/0024-grafoplanares.html"
+to = "/md/grafos-planares"
+
+[[redirects]]
+from = "/md/0025-teoremakuratowski.html"
+to = "/md/algoritmo-kuratowski"
+
+[[redirects]]
+from = "/md/0026-automatos.html"
+to = "/md/automatos-finitos"
+
+[[redirects]]
+from = "/md/exercicios/fichas-aulas-praticas.html"
+to = "/md/exercicios/fichas-aulas-praticas"
+
+[[redirects]]
+from = "/md/1001-calc-finito.html"
+to = "/md/cheatsheet/calculo-finito"
+
+[[redirects]]
+from = "/md/1002-geradoras-sheet.html"
+to = "/md/cheatsheet/funcoes-geradoras"
+
+[[redirects]]
+from = "/md/1003-calendarios.html"
+to = "/md/cheatsheet/calendarios"
+
+[[redirects]]
+from = "/md/1004-mdc-cheat.html"
+to = "/md/cheatsheet/mdc-equacoes-diofantinas"
+
+[[redirects]]
+from = "/md/1005-rsa-sheet.html"
+to = "/md/cheatsheet/rsa"
+
+[[redirects]]
+from = "/md/1006-grafos.html"
+to = "/md/cheatsheet/grafos"
+
+[[redirects]]
+from = "/md/tools/bezout-calculator.html"
+to = "/md/tools/mdc-bezout-calculator"
+
+[[redirects]]
+from = "/md/tools/fft-calculator.html"
+to = "/md/tools/fft-calculator"
+
+[[redirects]]
+from = "/md/tools/calendar-calculator.html"
+to = "/md/tools/calendar-calculator"
+
+[[redirects]]
+from = "/md/tools/rsa-calculator.html"
+to = "/md/tools/rsa-calculator"
+
+[[redirects]]
+from = "/md/tools/tcr-table-calculator.html"
+to = "/md/tools/teorema-chines-restos-table-calculator"
+
+[[redirects]]
+from = "/lp/0001-conceitos-gerais.html"
+to = "/lp/conceitos-gerais"
+
+[[redirects]]
+from = "/lp/0002-logica-proposicional-int.html"
+to = "/lp/logica-proposicional-int"
+
+[[redirects]]
+from = "/lp/0003-logica-proposicional-sc.html"
+to = "/lp/logica-proposicional-sc"
+
+[[redirects]]
+from = "/lp/0004-logica-primeiraordem-int.html"
+to = "/lp/logica-primeira-ordem-int"
+
+[[redirects]]
+from = "/lp/0005-logica-primeiraordem-sc.html"
+to = "/lp/logica-primeira-ordem-sc"
+
+[[redirects]]
+from = "/lp/0006-prog-logica.html"
+to = "/lp/fundamentos-programacao-logica"
+
+[[redirects]]
+from = "/lp/0007-prolog-intro.html"
+to = "/lp/prolog-intro"
+
+[[redirects]]
+from = "/lp/0008-prolog-mid.html"
+to = "/lp/prolog-mid"
+
+[[redirects]]
+from = "/lp/0009-prolog-corte-neg.html"
+to = "/lp/prolog-corte-neg"
+
+[[redirects]]
+from = "/lp/0010-prolog-lp.html"
+to = "/lp/prolog-linguagem-programacao"
+
+[[redirects]]
+from = "/lp/0011-logica-proposicional-semantico.html"
+to = "/lp/logica-proposicional-semantico"
+
+[[redirects]]
+from = "/lp/0012-lp-ii-bdds.html"
+to = "/lp/logica-proposicional-ii-bdds"
+
+[[redirects]]
+from = "/lp/0013-algs-sat.html"
+to = "/lp/algoritmos-sat"
+
+[[redirects]]
+from = "/lp/0014-lpo-semantico.html"
+to = "/lp/logica-primeira-ordem-semantico"
+
+[[redirects]]
+from = "/lp/exercicios/fichas-aulas-praticas.html"
+to = "/lp/exercicios/fichas-aulas-praticas"
+
+[[redirects]]
+from = "/lp/1000-faq.html"
+to = "/lp/projeto/faq"
+
+[[redirects]]
+from = "/iaed/0001-introducao-programacao-c.html"
+to = "/iaed/introducao-programacao-c"
+
+[[redirects]]
+from = "/iaed/0002-estruturas-controlo.html"
+to = "/iaed/estruturas-controlo"
+
+[[redirects]]
+from = "/iaed/0003-input-output.html"
+to = "/iaed/input-output"
+
+[[redirects]]
+from = "/iaed/0004-tabelas.html"
+to = "/iaed/tabelas"
+
+[[redirects]]
+from = "/iaed/0005-ficheiros.html"
+to = "/iaed/funcoes"
+
+[[redirects]]
+from = "/iaed/0006-estruturas.html"
+to = "/iaed/estruturas"
+
+[[redirects]]
+from = "/iaed/0007-1elementos.html"
+to = "/iaed/elementos-linguagem"
+
+[[redirects]]
+from = "/iaed/0007-2control.html"
+to = "/iaed/controlo-execucao"
+
+[[redirects]]
+from = "/iaed/0008-intro_algoritmos.html"
+to = "/iaed/introducao-algoritmos"
+
+[[redirects]]
+from = "/iaed/0009-algo_ord.html"
+to = "/iaed/algoritmos-elementares-ordenacao"
+
+[[redirects]]
+from = "/iaed/0010-more_algo.html"
+to = "/iaed/algoritmos-eficientes-ordenacao"
+
+[[redirects]]
+from = "/iaed/0011-even_more_algo.html"
+to = "/iaed/algoritmos-elementares-ordenacao-2"
+
+[[redirects]]
+from = "/iaed/0012-ponteiros.html"
+to = "/iaed/ponteiros"
+
+[[redirects]]
+from = "/iaed/0013-mem.html"
+to = "/iaed/alocacao-dinamica-memoria"
+
+[[redirects]]
+from = "/iaed/0014-listas.html"
+to = "/iaed/listas"
+
+[[redirects]]
+from = "/iaed/0015-tad.html"
+to = "/iaed/tad"
+
+[[redirects]]
+from = "/iaed/0016-disp.html"
+to = "/iaed/hash-tables"
+
+[[redirects]]
+from = "/iaed/0017-arv.html"
+to = "/iaed/arvores-binarias"
+
+[[redirects]]
+from = "/iaed/0018-grafos.html"
+to = "/iaed/grafos"
+
+[[redirects]]
+from = "/iaed/1000-algoritmos.sheet.html"
+to = "/iaed/cheatsheet/algoritmos"
+
+[[redirects]]
+from = "/iaed/meta/linux-setup.html"
+to = "/iaed/meta/linux-setup"
+
+[[redirects]]
+from = "/iaed/algorimos-elementares-ordenacao"
+to = "/iaed/algoritmos-elementares-ordenacao"
+
+[[redirects]]
+from = "/iaed/algorimos-eficientes-ordenacao"
+to = "/iaed/algoritmos-eficientes-ordenacao"
+
+[[redirects]]
+from = "/iaed/algorimos-elementares-ordenacao-2"
+to = "/iaed/algoritmos-elementares-ordenacao-2"
+
+[[redirects]]
+from = "/md"
+to = "/emd"
+
+[[redirects]]
+from = "/md/perturbacoes"
+to = "/emd/archive/perturbacoes"
+
+[[redirects]]
+from = "/md/introducao-calculo-finito"
+to = "/emd/archive/introducao-calculo-finito"
+
+[[redirects]]
+from = "/md/formulas-fechadas-somatorios"
+to = "/emd/archive/formulas-fechadas-somatorios"
+
+[[redirects]]
+from = "/md/serie-harmonica"
+to = "/emd/archive/serie-harmonica"
+
+[[redirects]]
+from = "/md/inducao-matematica"
+to = "/emd/inducao-matematica"
+
+[[redirects]]
+from = "/md/formula-de-abel"
+to = "/emd/archive/formula-de-abel"
+
+[[redirects]]
+from = "/md/funcoes-geradoras"
+to = "/emd/funcoes-geradoras"
+
+[[redirects]]
+from = "/md/teorema-de-newton"
+to = "/emd/archive/teorema-de-newton"
+
+[[redirects]]
+from = "/md/calculo-combinatorio"
+to = "/emd/archive/calculo-combinatorio"
+
+[[redirects]]
+from = "/md/equacoes-diferencas-finitas"
+to = "/emd/equacoes-diferencas-finitas"
+
+[[redirects]]
+from = "/md/fft"
+to = "/emd/fft"
+
+[[redirects]]
+from = "/md/mdc-eq-diofantinas"
+to = "/emd/mdc-eq-diofantinas"
+
+[[redirects]]
+from = "/md/calendario"
+to = "/emd/archive/calendario"
+
+[[redirects]]
+from = "/md/pascoa"
+to = "/emd/archive/pascoa"
+
+[[redirects]]
+from = "/md/congruencias"
+to = "/emd/congruencias"
+
+[[redirects]]
+from = "/md/teorema-chines-restos"
+to = "/emd/teorema-chines-restos"
+
+[[redirects]]
+from = "/md/rsa"
+to = "/emd/rsa"
+
+[[redirects]]
+from = "/md/grafos"
+to = "/emd/grafos"
+
+[[redirects]]
+from = "/md/principio-pombal"
+to = "/emd/principio-pombal"
+
+[[redirects]]
+from = "/md/labirintos"
+to = "/emd/archive/labirintos"
+
+[[redirects]]
+from = "/md/relacionamentos-gale-shapley"
+to = "/emd/archive/relacionamentos-gale-shapley"
+
+[[redirects]]
+from = "/md/kruskal-dijkstra"
+to = "/emd/kruskal-dijkstra"
+
+[[redirects]]
+from = "/md/teoria-fluxo"
+to = "/emd/archive/teoria-fluxo"
+
+[[redirects]]
+from = "/md/grafos-planares"
+to = "/emd/archive/grafos-planares"
+
+[[redirects]]
+from = "/md/algoritmo-kuratowski"
+to = "/emd/archive/algoritmo-kuratowski"
+
+[[redirects]]
+from = "/md/automatos-finitos"
+to = "/emd/archive/automatos-finitos"
+
+[[redirects]]
+from = "/md/cheatsheet/calculo-finito"
+to = "/emd/archive/cheatsheets/calculo-finito"
+
+[[redirects]]
+from = "/md/cheatsheet/funcoes-geradoras"
+to = "/emd/archive/cheatsheets/funcoes-geradoras"
+
+[[redirects]]
+from = "/md/cheatsheet/calendarios"
+to = "/emd/archive/cheatsheets/calendarios"
+
+[[redirects]]
+from = "/md/cheatsheet/mdc-equacoes-diofantinas"
+to = "/emd/cheatsheets/mdc-equacoes-diofantinas"
+
+[[redirects]]
+from = "/md/cheatsheet/rsa"
+to = "/emd/cheatsheets/rsa"
+
+[[redirects]]
+from = "/md/cheatsheet/grafos"
+to = "/emd/cheatsheets/grafos"
+
+[[redirects]]
+from = "/md/exercicios/fichas-aulas-praticas"
+to = "/emd/exercicios/fichas-2020-2021"
+
+[[redirects]]
+from = "/md/tools/fft-calculator"
+to = "/emd/tools/fft-calculator"
+
+[[redirects]]
+from = "/md/tools/calendar-calculator"
+to = "/emd/tools/calendar-calculator"
+
+[[redirects]]
+from = "/md/tools/mdc-bezout-calculator"
+to = "/emd/tools/mdc-bezout-calculator"
+
+[[redirects]]
+from = "/md/tools/teorema-chines-restos-table-calculator"
+to = "/emd/tools/teorema-chines-restos-table-calculator"
+
+[[redirects]]
+from = "/md/tools/rsa-calculator"
+to = "/emd/tools/rsa-calculator"
diff --git a/src/components/Footer/Footer.js b/src/components/Footer/Footer.js
index ec39fc8e..b9539081 100644
--- a/src/components/Footer/Footer.js
+++ b/src/components/Footer/Footer.js
@@ -1,6 +1,6 @@
import { graphql, useStaticQuery } from 'gatsby';
import React from 'react';
-import PoweredByVercelLogo from '../../images/powered-by-vercel.svg';
+import NetlifyLogo from '../../images/netlify-dark.svg';
import GitHubLogo from '../icons/GitHub';
import ExternalLink from '../ExternalLink';
import './Footer.css';
@@ -14,7 +14,7 @@ const Footer = () => {
githubLink
contributionGuideLink
contributorsLink
- vercelLink
+ netlifyLink
owner {
name
website
@@ -25,7 +25,7 @@ const Footer = () => {
}
`);
- const { githubLink, contributionGuideLink, contributorsLink, vercelLink, owner } =
+ const { githubLink, contributionGuideLink, contributorsLink, netlifyLink, owner } =
data.site.siteMetadata.footer;
return (
@@ -44,8 +44,8 @@ const Footer = () => {
Content by many awesome contributors
-
-
+
+
diff --git a/src/images/netlify-dark.svg b/src/images/netlify-dark.svg
new file mode 100644
index 00000000..0a606d72
--- /dev/null
+++ b/src/images/netlify-dark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/images/powered-by-vercel.svg b/src/images/powered-by-vercel.svg
deleted file mode 100644
index cd16a2f3..00000000
--- a/src/images/powered-by-vercel.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/vercel.json b/vercel.json
deleted file mode 100644
index 09aac10a..00000000
--- a/vercel.json
+++ /dev/null
@@ -1,279 +0,0 @@
-{
- "github": {
- "silent": true
- },
- "redirects": [
- {
- "source": "/cdi-ii/0001-transicao-para-dim-sup-1.html",
- "destination": "/cdi-ii/transicao-para-dim-sup-1"
- },
- { "source": "/cdi-ii/0002-norma-topologia.html", "destination": "/cdi-ii/norma-topologia" },
- {
- "source": "/cdi-ii/0003-funcoes-continuidade.html",
- "destination": "/cdi-ii/funcoes-continuidade"
- },
- {
- "source": "/cdi-ii/0004-diferenciabilidade.html",
- "destination": "/cdi-ii/diferenciabilidade"
- },
- { "source": "/cdi-ii/0005-derivada-composta.html", "destination": "/cdi-ii/derivada-composta" },
- { "source": "/cdi-ii/0006-conjunto-de-nivel.html", "destination": "/cdi-ii/conjunto-de-nivel" },
- {
- "source": "/cdi-ii/0007-derivada-ordem-superior.html",
- "destination": "/cdi-ii/derivada-de-ordem-superior"
- },
- { "source": "/cdi-ii/0008-integracao.html", "destination": "/cdi-ii/integracao" },
- {
- "source": "/cdi-ii/0009-integracao-funcoes.html",
- "destination": "/cdi-ii/integracao-funcoes"
- },
- {
- "source": "/cdi-ii/0010-integracao-mudanca-var.html",
- "destination": "/cdi-ii/integracao-mudanca-var"
- },
- {
- "source": "/cdi-ii/0011-aplicacoes-integral.html",
- "destination": "/cdi-ii/aplicacoes-integral"
- },
- { "source": "/cdi-ii/0012-teorema-leibniz.html", "destination": "/cdi-ii/teorema-leibniz" },
- { "source": "/cdi-ii/0013-funcao-inversa.html", "destination": "/cdi-ii/funcao-inversa" },
- { "source": "/cdi-ii/0014-variedades.html", "destination": "/cdi-ii/variedades" },
- {
- "source": "/cdi-ii/0015-extremos-condicionados.html",
- "destination": "/cdi-ii/extremos-condicionados"
- },
- { "source": "/cdi-ii/0016-campos-vetoriais.html", "destination": "/cdi-ii/campos-vetoriais" },
- {
- "source": "/cdi-ii/0017-green-fluxo-divergencia.html",
- "destination": "/cdi-ii/teorema-de-green"
- },
- {
- "source": "/cdi-ii/0018-fluxo-divergencia.html",
- "destination": "/cdi-ii/fluxo-teorema-divergencia"
- },
- {
- "source": "/cdi-ii/0019-rotacional-stokes.html",
- "destination": "/cdi-ii/rotacional-teorema-stokes"
- },
- {
- "source": "/cdi-ii/exercicios/fichas-aulas-praticas.html",
- "destination": "/cdi-ii/exercicios/fichas-aulas-praticas"
- },
- { "source": "/md/0001-perturbacoes.html", "destination": "/md/perturbacoes" },
- {
- "source": "/md/0002-introducao-calculo-finito.html",
- "destination": "/md/introducao-calculo-finito"
- },
- {
- "source": "/md/0003-formulas-fechadas-somatorios.html",
- "destination": "/md/formulas-fechadas-somatorios"
- },
- { "source": "/md/0004-serie-harmonica.html", "destination": "/md/serie-harmonica" },
- { "source": "/md/0005-inducao-matematica.html", "destination": "/md/inducao-matematica" },
- { "source": "/md/0006-formula-de-abel.html", "destination": "/md/formula-de-abel" },
- { "source": "/md/0007-funcoesgeradoras.html", "destination": "/md/funcoes-geradoras" },
- { "source": "/md/0008-teonewton.html", "destination": "/md/teorema-de-newton" },
- { "source": "/md/0009-combinatorio.html", "destination": "/md/calculo-combinatorio" },
- { "source": "/md/0010-diffinitas.html", "destination": "/md/equacoes-diferencas-finitas" },
- { "source": "/md/0011-FFT.html", "destination": "/md/fft" },
- { "source": "/md/0012-MDC.html", "destination": "/md/mdc-eq-diofantinas" },
- { "source": "/md/0013-calendario.html", "destination": "/md/calendario" },
- { "source": "/md/0014-pascoa.html", "destination": "/md/pascoa" },
- { "source": "/md/0015-congruencias.html", "destination": "/md/congruencias" },
- { "source": "/md/0016-chines-restos.html", "destination": "/md/teorema-chines-restos" },
- { "source": "/md/0017-rsa.html", "destination": "/md/rsa" },
- { "source": "/md/0018-grafos-def.html", "destination": "/md/grafos" },
- { "source": "/md/0019-pombal.html", "destination": "/md/principio-pombal" },
- { "source": "/md/0020-labirintos.html", "destination": "/md/labirintos" },
- { "source": "/md/0021-galeshapley.html", "destination": "/md/relacionamentos-gale-shapley" },
- { "source": "/md/0022-kruskraldijkrsta.html", "destination": "/md/kruskal-dijkstra" },
- { "source": "/md/0023-teoriadofluxo.html", "destination": "/md/teoria-fluxo" },
- { "source": "/md/0024-grafoplanares.html", "destination": "/md/grafos-planares" },
- { "source": "/md/0025-teoremakuratowski.html", "destination": "/md/algoritmo-kuratowski" },
- { "source": "/md/0026-automatos.html", "destination": "/md/automatos-finitos" },
- {
- "source": "/md/exercicios/fichas-aulas-praticas.html",
- "destination": "/md/exercicios/fichas-aulas-praticas"
- },
- { "source": "/md/1001-calc-finito.html", "destination": "/md/cheatsheet/calculo-finito" },
- {
- "source": "/md/1002-geradoras-sheet.html",
- "destination": "/md/cheatsheet/funcoes-geradoras"
- },
- { "source": "/md/1003-calendarios.html", "destination": "/md/cheatsheet/calendarios" },
- {
- "source": "/md/1004-mdc-cheat.html",
- "destination": "/md/cheatsheet/mdc-equacoes-diofantinas"
- },
- { "source": "/md/1005-rsa-sheet.html", "destination": "/md/cheatsheet/rsa" },
- { "source": "/md/1006-grafos.html", "destination": "/md/cheatsheet/grafos" },
- {
- "source": "/md/tools/bezout-calculator.html",
- "destination": "/md/tools/mdc-bezout-calculator"
- },
- { "source": "/md/tools/fft-calculator.html", "destination": "/md/tools/fft-calculator" },
- {
- "source": "/md/tools/calendar-calculator.html",
- "destination": "/md/tools/calendar-calculator"
- },
- { "source": "/md/tools/rsa-calculator.html", "destination": "/md/tools/rsa-calculator" },
- {
- "source": "/md/tools/tcr-table-calculator.html",
- "destination": "/md/tools/teorema-chines-restos-table-calculator"
- },
- { "source": "/lp/0001-conceitos-gerais.html", "destination": "/lp/conceitos-gerais" },
- {
- "source": "/lp/0002-logica-proposicional-int.html",
- "destination": "/lp/logica-proposicional-int"
- },
- {
- "source": "/lp/0003-logica-proposicional-sc.html",
- "destination": "/lp/logica-proposicional-sc"
- },
- {
- "source": "/lp/0004-logica-primeiraordem-int.html",
- "destination": "/lp/logica-primeira-ordem-int"
- },
- {
- "source": "/lp/0005-logica-primeiraordem-sc.html",
- "destination": "/lp/logica-primeira-ordem-sc"
- },
- { "source": "/lp/0006-prog-logica.html", "destination": "/lp/fundamentos-programacao-logica" },
- { "source": "/lp/0007-prolog-intro.html", "destination": "/lp/prolog-intro" },
- { "source": "/lp/0008-prolog-mid.html", "destination": "/lp/prolog-mid" },
- { "source": "/lp/0009-prolog-corte-neg.html", "destination": "/lp/prolog-corte-neg" },
- { "source": "/lp/0010-prolog-lp.html", "destination": "/lp/prolog-linguagem-programacao" },
- {
- "source": "/lp/0011-logica-proposicional-semantico.html",
- "destination": "/lp/logica-proposicional-semantico"
- },
- { "source": "/lp/0012-lp-ii-bdds.html", "destination": "/lp/logica-proposicional-ii-bdds" },
- { "source": "/lp/0013-algs-sat.html", "destination": "/lp/algoritmos-sat" },
- {
- "source": "/lp/0014-lpo-semantico.html",
- "destination": "/lp/logica-primeira-ordem-semantico"
- },
- {
- "source": "/lp/exercicios/fichas-aulas-praticas.html",
- "destination": "/lp/exercicios/fichas-aulas-praticas"
- },
- { "source": "/lp/1000-faq.html", "destination": "/lp/projeto/faq" },
- {
- "source": "/iaed/0001-introducao-programacao-c.html",
- "destination": "/iaed/introducao-programacao-c"
- },
- { "source": "/iaed/0002-estruturas-controlo.html", "destination": "/iaed/estruturas-controlo" },
- { "source": "/iaed/0003-input-output.html", "destination": "/iaed/input-output" },
- { "source": "/iaed/0004-tabelas.html", "destination": "/iaed/tabelas" },
- { "source": "/iaed/0005-ficheiros.html", "destination": "/iaed/funcoes" },
- { "source": "/iaed/0006-estruturas.html", "destination": "/iaed/estruturas" },
- { "source": "/iaed/0007-1elementos.html", "destination": "/iaed/elementos-linguagem" },
- { "source": "/iaed/0007-2control.html", "destination": "/iaed/controlo-execucao" },
- { "source": "/iaed/0008-intro_algoritmos.html", "destination": "/iaed/introducao-algoritmos" },
- {
- "source": "/iaed/0009-algo_ord.html",
- "destination": "/iaed/algoritmos-elementares-ordenacao"
- },
- {
- "source": "/iaed/0010-more_algo.html",
- "destination": "/iaed/algoritmos-eficientes-ordenacao"
- },
- {
- "source": "/iaed/0011-even_more_algo.html",
- "destination": "/iaed/algoritmos-elementares-ordenacao-2"
- },
- { "source": "/iaed/0012-ponteiros.html", "destination": "/iaed/ponteiros" },
- { "source": "/iaed/0013-mem.html", "destination": "/iaed/alocacao-dinamica-memoria" },
- { "source": "/iaed/0014-listas.html", "destination": "/iaed/listas" },
- { "source": "/iaed/0015-tad.html", "destination": "/iaed/tad" },
- { "source": "/iaed/0016-disp.html", "destination": "/iaed/hash-tables" },
- { "source": "/iaed/0017-arv.html", "destination": "/iaed/arvores-binarias" },
- { "source": "/iaed/0018-grafos.html", "destination": "/iaed/grafos" },
- { "source": "/iaed/1000-algoritmos.sheet.html", "destination": "/iaed/cheatsheet/algoritmos" },
- { "source": "/iaed/meta/linux-setup.html", "destination": "/iaed/meta/linux-setup" },
- {
- "source": "/iaed/algorimos-elementares-ordenacao",
- "destination": "/iaed/algoritmos-elementares-ordenacao"
- },
- {
- "source": "/iaed/algorimos-eficientes-ordenacao",
- "destination": "/iaed/algoritmos-eficientes-ordenacao"
- },
- {
- "source": "/iaed/algorimos-elementares-ordenacao-2",
- "destination": "/iaed/algoritmos-elementares-ordenacao-2"
- },
- { "source": "/md", "destination": "/emd" },
- { "source": "/md/perturbacoes", "destination": "/emd/archive/perturbacoes" },
- {
- "source": "/md/introducao-calculo-finito",
- "destination": "/emd/archive/introducao-calculo-finito"
- },
- {
- "source": "/md/formulas-fechadas-somatorios",
- "destination": "/emd/archive/formulas-fechadas-somatorios"
- },
- { "source": "/md/serie-harmonica", "destination": "/emd/archive/serie-harmonica" },
- { "source": "/md/inducao-matematica", "destination": "/emd/inducao-matematica" },
- { "source": "/md/formula-de-abel", "destination": "/emd/archive/formula-de-abel" },
- { "source": "/md/funcoes-geradoras", "destination": "/emd/funcoes-geradoras" },
- { "source": "/md/teorema-de-newton", "destination": "/emd/archive/teorema-de-newton" },
- { "source": "/md/calculo-combinatorio", "destination": "/emd/archive/calculo-combinatorio" },
- {
- "source": "/md/equacoes-diferencas-finitas",
- "destination": "/emd/equacoes-diferencas-finitas"
- },
- { "source": "/md/fft", "destination": "/emd/fft" },
- { "source": "/md/mdc-eq-diofantinas", "destination": "/emd/mdc-eq-diofantinas" },
- { "source": "/md/calendario", "destination": "/emd/archive/calendario" },
- { "source": "/md/pascoa", "destination": "/emd/archive/pascoa" },
- { "source": "/md/congruencias", "destination": "/emd/congruencias" },
- { "source": "/md/teorema-chines-restos", "destination": "/emd/teorema-chines-restos" },
- { "source": "/md/rsa", "destination": "/emd/rsa" },
- { "source": "/md/grafos", "destination": "/emd/grafos" },
- { "source": "/md/principio-pombal", "destination": "/emd/principio-pombal" },
- { "source": "/md/labirintos", "destination": "/emd/archive/labirintos" },
- {
- "source": "/md/relacionamentos-gale-shapley",
- "destination": "/emd/archive/relacionamentos-gale-shapley"
- },
- { "source": "/md/kruskal-dijkstra", "destination": "/emd/kruskal-dijkstra" },
- { "source": "/md/teoria-fluxo", "destination": "/emd/archive/teoria-fluxo" },
- { "source": "/md/grafos-planares", "destination": "/emd/archive/grafos-planares" },
- { "source": "/md/algoritmo-kuratowski", "destination": "/emd/archive/algoritmo-kuratowski" },
- { "source": "/md/automatos-finitos", "destination": "/emd/archive/automatos-finitos" },
- {
- "source": "/md/cheatsheet/calculo-finito",
- "destination": "/emd/archive/cheatsheets/calculo-finito"
- },
- {
- "source": "/md/cheatsheet/funcoes-geradoras",
- "destination": "/emd/archive/cheatsheets/funcoes-geradoras"
- },
- {
- "source": "/md/cheatsheet/calendarios",
- "destination": "/emd/archive/cheatsheets/calendarios"
- },
- {
- "source": "/md/cheatsheet/mdc-equacoes-diofantinas",
- "destination": "/emd/cheatsheets/mdc-equacoes-diofantinas"
- },
- { "source": "/md/cheatsheet/rsa", "destination": "/emd/cheatsheets/rsa" },
- { "source": "/md/cheatsheet/grafos", "destination": "/emd/cheatsheets/grafos" },
- {
- "source": "/md/exercicios/fichas-aulas-praticas",
- "destination": "/emd/exercicios/fichas-2020-2021"
- },
- { "source": "/md/tools/fft-calculator", "destination": "/emd/tools/fft-calculator" },
- { "source": "/md/tools/calendar-calculator", "destination": "/emd/tools/calendar-calculator" },
- {
- "source": "/md/tools/mdc-bezout-calculator",
- "destination": "/emd/tools/mdc-bezout-calculator"
- },
- {
- "source": "/md/tools/teorema-chines-restos-table-calculator",
- "destination": "/emd/tools/teorema-chines-restos-table-calculator"
- },
- { "source": "/md/tools/rsa-calculator", "destination": "/emd/tools/rsa-calculator" }
- ]
-}