Dynamic instances list
This commit is contained in:
parent
c49168250e
commit
651c10260f
5 changed files with 75 additions and 52 deletions
|
@ -118,32 +118,8 @@ or the entire fediverse.
|
||||||
|
|
||||||
Liste des instances
|
Liste des instances
|
||||||
|
|
||||||
<div class="list-group">
|
<div id="instances-list" class="list-group"></div>
|
||||||
<a href="#" class="list-group-item">
|
<div class="alert alert-info">This is like picking an e-mail hosting provider: the domain will also be part of your username!</div>
|
||||||
<h4 class="list-group-item-heading">Framatube</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
{{% /grid %}}
|
{{% /grid %}}
|
||||||
|
|
|
@ -117,33 +117,9 @@ or the entire fediverse.
|
||||||
|
|
||||||
Liste des instances
|
Liste des instances
|
||||||
|
|
||||||
<div class="list-group">
|
<div id="instances-list" class="list-group"></div>
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">Framatube</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
<a href="#" class="list-group-item">
|
|
||||||
<h4 class="list-group-item-heading">List group item heading</h4>
|
|
||||||
<p class="list-group-item-text">Donec id elit non mi porta gravida at eget metus. Maecenas sed diam eget risus varius blandit.</p>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
<div class="alert alert-info">This is like picking an e-mail hosting provider: the domain will also be part of your username!</div>
|
||||||
|
|
||||||
{{% /grid %}}
|
{{% /grid %}}
|
||||||
{{% /grid %}}
|
{{% /grid %}}
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
{{ end }}
|
{{ end }}
|
||||||
<script src="{{ "js/highlight.pack.js" | absURL }}"></script>
|
<script src="{{ "js/highlight.pack.js" | absURL }}"></script>
|
||||||
<script src="{{ "js/site.js" | absURL }}"></script>
|
<script src="{{ "js/site.js" | absURL }}"></script>
|
||||||
|
<script src="{{ "js/instances.js" | absURL }}"></script>
|
||||||
<script>hljs.initHighlightingOnLoad();</script>
|
<script>hljs.initHighlightingOnLoad();</script>
|
||||||
|
|
||||||
{{ with .Site.Params.googleAnalytics }}
|
{{ with .Site.Params.googleAnalytics }}
|
||||||
|
|
|
@ -197,3 +197,26 @@ body .medias .container {
|
||||||
.getting-started h2 {
|
.getting-started h2 {
|
||||||
color: #F1680D;
|
color: #F1680D;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#instances-list {
|
||||||
|
max-height: 600px;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#instances-list .list-group-item {
|
||||||
|
height: 70px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#instances-list .list-group-item .list-group-item-heading {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#instances-list .list-group-item .list-group-item-text {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
|
47
themes/hugo-bootstrap-premium/static/js/instances.js
Normal file
47
themes/hugo-bootstrap-premium/static/js/instances.js
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
$(function () {
|
||||||
|
const instancesApi = 'https://instances.peertu.be/api/v1/instances'
|
||||||
|
const data = {
|
||||||
|
start: 0,
|
||||||
|
count: 100,
|
||||||
|
signup: true,
|
||||||
|
healthy: true
|
||||||
|
}
|
||||||
|
|
||||||
|
$.get(instancesApi, data, function (res) {
|
||||||
|
const instances = res.data
|
||||||
|
|
||||||
|
const lis = []
|
||||||
|
instances.forEach(function (instance) {
|
||||||
|
const el = createInstanceElement(instance.host, instance.name, instance.shortDescription)
|
||||||
|
lis.push(el)
|
||||||
|
})
|
||||||
|
|
||||||
|
$('#instances-list').append(lis)
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
function createInstanceElement (host, name, description) {
|
||||||
|
const a = $('<a>', {
|
||||||
|
class: 'list-group-item',
|
||||||
|
href: 'https://' + host,
|
||||||
|
target: '_blank',
|
||||||
|
title: host
|
||||||
|
})
|
||||||
|
|
||||||
|
const h4 = $('<h4>', {
|
||||||
|
class: 'list-group-item-heading',
|
||||||
|
text: name
|
||||||
|
})
|
||||||
|
a.append(h4)
|
||||||
|
|
||||||
|
if (description) {
|
||||||
|
const p = $('<p>', {
|
||||||
|
class: 'list-group-item-text',
|
||||||
|
text: description
|
||||||
|
})
|
||||||
|
a.append(p)
|
||||||
|
}
|
||||||
|
|
||||||
|
return a
|
||||||
|
}
|
||||||
|
})
|
Loading…
Reference in a new issue