Nikola auto commit.

Source commit: d510895ccd
Nikola version: 8.3.3
master
Patricio García 2025-08-20 20:07:24 +01:00
parent 765770c9e0
commit 7ad5cce325
26 changed files with 2191 additions and 295 deletions

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="assets/css/mastodon-timeline.min.css" rel="stylesheet">
</head> </head>
<body> <body>
<a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a> <a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a>
@ -25,7 +26,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="."> <a class="navbar-brand" href=".">
<img src="assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -62,15 +63,35 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
<article class="listpage"><header><h1>Archivo</h1> <article class="listpage"><header><h1>Archivo</h1>
</header><p>No se encontraron publicaciones.</p> </header><p>No se encontraron publicaciones.</p>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -87,13 +108,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="assets/js/all-nocdn.js"></script><script> <script src="assets/js/all-nocdn.js"></script><script src="assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

1
assets/css/mastodon-timeline.min.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
</head> </head>
<body> <body>
<a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a> <a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a>
@ -25,7 +26,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -62,8 +63,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -71,6 +74,22 @@ bg-dark
<h1>Etiquetas</h1> <h1>Etiquetas</h1>
<!--End of body content--> <!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer"> <footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
@ -89,13 +108,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Comunicaciones"> <meta property="og:title" content="Comunicaciones">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -156,7 +159,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -173,13 +194,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Contacto"> <meta property="og:title" content="Contacto">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -168,7 +171,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -185,13 +206,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Donaciones"> <meta property="og:title" content="Donaciones">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -125,7 +128,25 @@ BIC/SWIFT: TRIOESMMXXX
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -142,13 +163,97 @@ BIC/SWIFT: TRIOESMMXXX
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Eventos"> <meta property="og:title" content="Eventos">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -90,7 +93,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -107,13 +128,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Fundación TXS.es "> <meta property="og:title" content="Fundación TXS.es ">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -115,7 +118,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -132,13 +153,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -15,6 +15,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml"> <link rel="alternate" type="application/rss+xml" title="RSS" href="rss.xml">
<style type="text/css"> <style type="text/css">
#gallery_container { #gallery_container {
@ -34,7 +35,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -71,8 +72,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -85,6 +88,22 @@ bg-dark
<div id="gallery_container"></div> <div id="gallery_container"></div>
<!--End of body content--> <!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer"> <footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
@ -103,10 +122,25 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/justified-layout.min.js"></script><script src="../assets/js/gallery.min.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script src="../assets/js/justified-layout.min.js"></script><script src="../assets/js/gallery.min.js"></script><script>
var jsonContent = []; var jsonContent = [];
var thumbnailSize = 180; var thumbnailSize = 180;
renderGallery(jsonContent, thumbnailSize); renderGallery(jsonContent, thumbnailSize);
@ -115,6 +149,75 @@ window.addEventListener('resize', function(){renderGallery(jsonContent, thumbnai
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="EDUCATIC"> <meta property="og:title" content="EDUCATIC">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="."> <a class="navbar-brand" href=".">
<img src="assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -98,7 +101,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -115,13 +136,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="assets/js/all-nocdn.js"></script><script> <script src="assets/js/all-nocdn.js"></script><script src="assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Información legal"> <meta property="og:title" content="Información legal">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -110,7 +113,25 @@ educatic@txs.es
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -127,13 +148,97 @@ educatic@txs.es
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Formulario de inscripción"> <meta property="og:title" content="Formulario de inscripción">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -205,7 +208,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -222,10 +243,25 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Asóciate"> <meta property="og:title" content="Asóciate">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -123,7 +126,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -140,13 +161,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
</head> </head>
<body> <body>
<a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a> <a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a>
@ -25,7 +26,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -62,8 +63,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -71,7 +74,25 @@ bg-dark
<nav class="breadcrumbs"><ul class="breadcrumb"> <nav class="breadcrumbs"><ul class="breadcrumb">
<li class="breadcrumb-item"><a href=".">listings</a></li> <li class="breadcrumb-item"><a href=".">listings</a></li>
</ul></nav><!--End of body content--><footer id="footer"> </ul></nav><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -88,13 +109,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
</head> </head>
<body> <body>
<a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a> <a href="#content" class="sr-only sr-only-focusable">Ir al contenido principal</a>
@ -25,7 +26,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -62,8 +63,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -85,6 +88,22 @@ bg-dark
<!--End of body content--> <!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer"> <footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
@ -103,13 +122,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Visión y proyecto"> <meta property="og:title" content="Visión y proyecto">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -141,7 +144,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -158,13 +179,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Protección de datos"> <meta property="og:title" content="Protección de datos">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -105,7 +108,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -122,13 +143,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Servicios"> <meta property="og:title" content="Servicios">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -88,13 +91,13 @@ bg-dark
</header><div class="e-content entry-content" itemprop="articleBody text"> </header><div class="e-content entry-content" itemprop="articleBody text">
<blockquote> <blockquote>
<div id="accordion_04eb54ea58ef4c3b9b75cc634d78d234" class="accordion"> <div id="accordion_300320292d0e45a796d59eeb8d66bf5e" class="accordion">
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_0_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_0_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_0_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_0_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_0_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_0_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://nube.txs.es/" class="btn btn-primary" style="width:220px;"> <a href="https://nube.txs.es/" class="btn btn-primary" style="width:220px;">
@ -106,7 +109,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_0_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_0_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_0_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_0_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Almacenamiento de ficheros en tu nube. Compartelos y colabora con otros, sincronízalos con tu ordenador. Calendarios, tareas, contactos, formularios y mucho mas. Tus datos bajo tu control. <a class="reference external" href="https://nextcloud.com/es/">Nextcloud</a> además nos permite integrar la mayoría del resto de servicios bajo su interfaz</p> <p>Almacenamiento de ficheros en tu nube. Compartelos y colabora con otros, sincronízalos con tu ordenador. Calendarios, tareas, contactos, formularios y mucho mas. Tus datos bajo tu control. <a class="reference external" href="https://nextcloud.com/es/">Nextcloud</a> además nos permite integrar la mayoría del resto de servicios bajo su interfaz</p>
@ -114,11 +117,11 @@ bg-dark
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_1_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_1_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_1_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_1_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_1_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_1_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://buzon.txs.es/" class="btn btn-primary" style="width:220px;"> <a href="https://buzon.txs.es/" class="btn btn-primary" style="width:220px;">
@ -130,7 +133,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_1_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_1_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_1_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_1_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Servicio de correo electronico bajo dominio @txs.es, seguro y libre de rastreos. Accesible mediante cliente IMAP o usando nuestra interface web, pudiendo agregar otras de tus cuentas</p> <p>Servicio de correo electronico bajo dominio @txs.es, seguro y libre de rastreos. Accesible mediante cliente IMAP o usando nuestra interface web, pudiendo agregar otras de tus cuentas</p>
@ -140,11 +143,11 @@ bg-dark
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_2_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_2_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_2_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_2_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_2_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_2_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://txs.es:5443/conversejs/" class="btn btn-primary" style="width:220px;"> <a href="https://txs.es:5443/conversejs/" class="btn btn-primary" style="width:220px;">
@ -156,7 +159,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_2_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_2_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_2_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_2_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Mensajería instantánea descentralizada bajo <a class="reference external" href="../xmpp/">protocolo XMPP</a> y dominio @txs.es, flexible y privado. Accesible también usando nuestra interface web</p> <p>Mensajería instantánea descentralizada bajo <a class="reference external" href="../xmpp/">protocolo XMPP</a> y dominio @txs.es, flexible y privado. Accesible también usando nuestra interface web</p>
@ -164,11 +167,11 @@ bg-dark
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_3_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_3_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_3_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_3_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_3_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_3_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://nube.txs.es/apps/bbb/" class="btn btn-primary" style="width:220px;"> <a href="https://nube.txs.es/apps/bbb/" class="btn btn-primary" style="width:220px;">
@ -180,7 +183,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_3_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_3_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_3_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_3_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Videonferencias mediante <a class="reference external" href="https://bigbluebutton.org/">BigBlueButton</a>, herramienta especialmente orientada al aprendizaje en línea. Permite compartir audio, vídeo, diapositivas, pizarra, notas, chat y pantalla en tiempo real. Encuestas, salas de grupos, grabación de sesiones, evaluación y mucho mas</p> <p>Videonferencias mediante <a class="reference external" href="https://bigbluebutton.org/">BigBlueButton</a>, herramienta especialmente orientada al aprendizaje en línea. Permite compartir audio, vídeo, diapositivas, pizarra, notas, chat y pantalla en tiempo real. Encuestas, salas de grupos, grabación de sesiones, evaluación y mucho mas</p>
@ -190,11 +193,11 @@ bg-dark
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_4_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_4_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_4_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_4_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_4_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_4_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://tuvideo.txs.es/" class="btn btn-primary" style="width:220px;"> <a href="https://tuvideo.txs.es/" class="btn btn-primary" style="width:220px;">
@ -206,7 +209,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_4_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_4_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_4_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_4_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Plataforma de vídeos mediante <a class="reference external" href="https://joinpeertube.org/es">PeerTube</a>, comparte tus vídeos en una gran red interconectada, sin rastreos ni publicidad. Con la eficiencia de la tecnología P2P</p> <p>Plataforma de vídeos mediante <a class="reference external" href="https://joinpeertube.org/es">PeerTube</a>, comparte tus vídeos en una gran red interconectada, sin rastreos ni publicidad. Con la eficiencia de la tecnología P2P</p>
@ -214,11 +217,11 @@ bg-dark
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_5_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_5_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_5_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_5_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_5_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_5_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://txs.es/" class="btn btn-primary" style="width:220px;"> <a href="https://txs.es/" class="btn btn-primary" style="width:220px;">
@ -230,7 +233,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_5_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_5_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_5_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_5_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Red social descentralizada bajo dominio @txs.es, enfocada en la privacidad y control del usuario. Sin rastreos ni publicidad dirigida, e interoperable con otras plataformas</p> <p>Red social descentralizada bajo dominio @txs.es, enfocada en la privacidad y control del usuario. Sin rastreos ni publicidad dirigida, e interoperable con otras plataformas</p>
@ -240,11 +243,11 @@ bg-dark
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_6_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_6_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_6_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_6_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_6_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_6_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://git.txs.es/" class="btn btn-primary" style="width:220px;"> <a href="https://git.txs.es/" class="btn btn-primary" style="width:220px;">
@ -256,7 +259,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_6_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_6_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_6_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_6_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Sistema de gestión de versiones Git, gestiona tus proyectos y publica tu código y/o documentos. Registra todos los cambios por los que van pasando tus ficheros y crea una comunidad alrededor de tus proyectos</p> <p>Sistema de gestión de versiones Git, gestiona tus proyectos y publica tu código y/o documentos. Registra todos los cambios por los que van pasando tus ficheros y crea una comunidad alrededor de tus proyectos</p>
@ -264,11 +267,11 @@ bg-dark
</div> </div>
</div> </div>
</div> </div>
<div class="col-md-6"> <div class="col-md-6 col-lg-12 col-xl-6">
<div class="card"> <div class="card">
<div class="card-header" id="heading_7_04eb54ea58ef4c3b9b75cc634d78d234"> <div class="card-header" id="heading_7_300320292d0e45a796d59eeb8d66bf5e">
<h2 class="mb-0"> <h2 class="mb-0">
<button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_7_04eb54ea58ef4c3b9b75cc634d78d234" aria-expanded="false" aria-controls="collapse_7_04eb54ea58ef4c3b9b75cc634d78d234"> <button class="btn btn-link collapsed text-dark collapsible-link" type="button" data-toggle="collapse" data-target="#collapse_7_300320292d0e45a796d59eeb8d66bf5e" aria-expanded="false" aria-controls="collapse_7_300320292d0e45a796d59eeb8d66bf5e">
<p> <p>
<a href="https://eventos.txs.es/" class="btn btn-primary" style="width:220px;"> <a href="https://eventos.txs.es/" class="btn btn-primary" style="width:220px;">
@ -280,7 +283,7 @@ bg-dark
</button> </button>
</h2> </h2>
</div> </div>
<div id="collapse_7_04eb54ea58ef4c3b9b75cc634d78d234" class="collapse" aria-labelledby="heading_7_04eb54ea58ef4c3b9b75cc634d78d234" data-parent="#accordion_04eb54ea58ef4c3b9b75cc634d78d234"> <div id="collapse_7_300320292d0e45a796d59eeb8d66bf5e" class="collapse" aria-labelledby="heading_7_300320292d0e45a796d59eeb8d66bf5e" data-parent="#accordion_300320292d0e45a796d59eeb8d66bf5e">
<div class="card-body"> <div class="card-body">
<p>Plataforma de gestión de eventos mediante <a class="reference external" href="https://gancio.org/">Gancio</a>, herramienta para organizar y promocionar eventos de forma descentralizada y colaborativa</p> <p>Plataforma de gestión de eventos mediante <a class="reference external" href="https://gancio.org/">Gancio</a>, herramienta para organizar y promocionar eventos de forma descentralizada y colaborativa</p>
@ -300,7 +303,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -317,10 +338,25 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});

View File

@ -11,7 +11,7 @@
</url> </url>
<url> <url>
<loc>https://educatic.txs.es/archive.html</loc> <loc>https://educatic.txs.es/archive.html</loc>
<lastmod>2025-08-14T16:39:00Z</lastmod> <lastmod>2025-08-20T18:28:00Z</lastmod>
</url> </url>
<url> <url>
<loc>https://educatic.txs.es/categories/</loc> <loc>https://educatic.txs.es/categories/</loc>

View File

@ -7,6 +7,6 @@
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
<sitemap> <sitemap>
<loc>https://educatic.txs.es/sitemap.xml</loc> <loc>https://educatic.txs.es/sitemap.xml</loc>
<lastmod>2025-08-15T12:20:00Z</lastmod> <lastmod>2025-08-20T18:28:00Z</lastmod>
</sitemap> </sitemap>
</sitemapindex> </sitemapindex>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Equipo y colaboraciones"> <meta property="og:title" content="Equipo y colaboraciones">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -132,7 +135,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -149,10 +170,25 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="Términos de uso"> <meta property="og:title" content="Términos de uso">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -113,7 +116,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -130,13 +151,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>

View File

@ -16,6 +16,7 @@
<link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180"> <link rel="apple-touch-icon" href="../assets/img/apple-touch-icon.png" sizes="180x180">
<link rel="manifest" href="../assets/img/site.webmanifest" sizes=""> <link rel="manifest" href="../assets/img/site.webmanifest" sizes="">
<!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css"> <!--[if lt IE 9]><script src="../assets/js/html5.js"></script><![endif]--><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css">
<link href="../assets/css/mastodon-timeline.min.css" rel="stylesheet">
<meta name="author" content="Educatic"> <meta name="author" content="Educatic">
<meta property="og:site_name" content="EDUCATIC"> <meta property="og:site_name" content="EDUCATIC">
<meta property="og:title" content="XMPP EDUCATIC-GENERAL"> <meta property="og:title" content="XMPP EDUCATIC-GENERAL">
@ -32,7 +33,7 @@
<nav class="navbar navbar-expand-md static-top mb-4 <nav class="navbar navbar-expand-md static-top mb-4
navbar-dark navbar-dark
bg-dark bg-dark
"><div class="container"> "><div class="container-xl">
<!-- This keeps the margins nice --> <!-- This keeps the margins nice -->
<a class="navbar-brand" href="../"> <a class="navbar-brand" href="../">
<img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a> <img src="../assets/img/educatic_logo_w.svg" alt="EDUCATIC" id="logo" class="d-inline-block align-top"></a>
@ -69,8 +70,10 @@ bg-dark
<!-- /.navbar-collapse --> <!-- /.navbar-collapse -->
</div> </div>
<!-- /.container --> <!-- /.container -->
</nav><!-- End of Menubar --><div class="container" id="content" role="main"> </nav><!-- End of Menubar --><div class="container-xl" id="content" role="main">
<div class="body-content"> <div class="body-content">
<div class="row">
<div class="col">
<!--Body content--> <!--Body content-->
@ -138,7 +141,25 @@ bg-dark
</div> </div>
</article><!--End of body content--><footer id="footer"> </article><!--End of body content-->
</div>
<div class="col-lg-5 col-xl-4">
<!--Mastodon content-->
<div class="dummy-wrapper-timeline">
<!-- Mastodon Timeline -->
<div id="mt-container" class="mt-container">
<div class="mt-body" role="feed">
<div class="mt-loading-spinner"></div>
</div>
</div>
</div>
<!--End of Mastodon content-->
</div>
<footer id="footer">
© 2020-2025 Educatic © 2020-2025 Educatic
- -
<a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a> <a href="mailto:educatic@txs.es" class="text-dark mx-2" title="Enviar un correo"><i class="fas fa-envelope"></i></a>
@ -155,13 +176,97 @@ bg-dark
</footer> </footer>
</div> </div>
</div>
</div> </div>
<script src="../assets/js/all-nocdn.js"></script><script> <script src="../assets/js/all-nocdn.js"></script><script src="../assets/js/mastodon-timeline.umd.js"></script><script>
const myTimeline = new MastodonTimeline.Init({
instanceUrl: "https://txs.es",
timelineType: "profile",
userId: "44",
profileName: "@EDUCATIC",
dateFormatLocale: "es",
btnSeeMore: "Ver mas publicaciones en Mastodon",
btnReload: "Recargar",
maxNbPostFetch: "5",
maxNbPostShow: "5",
});
</script><script>
baguetteBox.run('div#content', { baguetteBox.run('div#content', {
ignoreClass: 'islink', ignoreClass: 'islink',
captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}}); captions: function(element){var i=element.getElementsByTagName('img')[0];return i===undefined?'':i.alt;}});
</script> </script><script>(function () {
function submit(ev) {
const form = ev.target;
ev.preventDefault();
const answers = {};
const [,formId] = form.id.split("-");
for (let i = 0; i < form.length; i++) {
var input = form[i];
// extract question id (qid) and answer id (aid)
var [,,qid,,aid] = input.id.split("-");
if ( qid && !(qid in answers) )
answers[qid] = [];
switch (input.type) {
case "checkbox":
case "radio":
if (input.checked)
answers[qid].push(aid);
console.log(input.type, input.id, qid, aid, input.checked);
break;
case "select-one":
case "text":
case "textarea":
case "date":
case "datetime-local":
if (input.value)
answers[qid].push(input.value);
console.log(input.type, input.id, qid, input.value);
break;
default:
console.log("unknown form element type:", input.type);
}
}
const request = new XMLHttpRequest();
request.open("POST", form.action, true);
request.setRequestHeader("OCS-APIRequest", "true");
request.setRequestHeader("Accept", "application/json");
request.setRequestHeader("Content-Type", "application/json");
request.onload = function () {
const message = document.getElementById("form-" + formId + "-messages");
const form = document.getElementById("form-" + formId);
const success = document.getElementById("form-" + formId + "-success");
const response = JSON.parse(this.response);
if (this.status == 200) {
// success
form.style.display = "none";
success.style.display = "block";
} else {
message.innerHTML = '<div class="alert alert-danger" role="alert">' +
this.statusText + "(" + this.status + "): " +
response['ocs']['meta']['message'] +
'</div>';
}
};
request.send(JSON.stringify({'formId': formId, 'answers': answers}));
}
for (let i = 0; i < document.forms.length; i++)
document.forms[i].onsubmit = submit;
})();
</script>
</body> </body>
</html> </html>