2016-03-22 15:45:04 +01:00
# Apps in progress
2015-04-01 16:00:53 +02:00
2016-03-22 15:45:04 +01:00
< img src = "/images/freshrss_logo.png" width = 40 >
< img src = "/images/Icons_mumble.svg" width = 40 >
< img src = "/images/Lutim_small.png" width = 30 >
< img src = "/images/PluXml-logo_transparent.png" width = 60 >
< img src = "/images/Etherpad.svg" width = 40 >
2017-04-12 11:55:29 +02:00
< img src = "/images/gogs.svg" width = 40 >
2016-03-22 15:45:04 +01:00
< img src = "/images/movim_logo.png" width = 40 >
2017-04-12 11:56:36 +02:00
< img src = "/images/duniter-logo.svg" width = 40 >
2017-04-12 12:07:55 +02:00
< img src = "/images/Zeronet_logo.png" width = 40 >
2017-06-06 12:35:51 +02:00
< img src = "/images/jappix.png" width = 50 >
2016-03-22 15:45:04 +01:00
< a class = "btn btn-lg btn-default" href = "/apps_en" > Official apps< / a >
< a class = "btn btn-lg btn-default disabled" href = "/apps_in_progress_en" > Apps in progress< / a >
< a class = "btn btn-lg btn-default" href = "/apps_wishlist_en" > Apps wishlist< / a >
2015-04-01 16:00:53 +02:00
2015-04-03 10:13:28 +02:00
The following applications are being packaged on by a growing number of packagers.
2015-10-04 01:21:52 +02:00
< div class = "alert alert-danger" > They are **NOT** validated by the packaging team, and as such, **no official support is provided** for them.< br >
You can test and use them **at your own risk** .
2015-05-26 16:05:59 +02:00
< / div >
2015-04-01 16:00:53 +02:00
2015-10-04 01:21:52 +02:00
You can install them through the [administration web interface ](/admin ) by choosing "Install custom app", or using the [moulinette ](/moulinette ):
2015-04-01 16:00:53 +02:00
```bash
yunohost app install https://github.com/< packager > /< app_repository >
```
2015-10-04 01:21:52 +02:00
The packagers will appreciate your remarks. If you test them and find issues, or ideas for improvement, do not hesitate to file issues directly on their repositories project page.
2015-04-01 16:00:53 +02:00
2015-10-05 11:53:33 +02:00
< div class = "clearfix" style = "margin-bottom: 1em;" >
2016-05-26 22:06:50 +02:00
< div class = "btn btn-default btn-xs pull-right" data-toggle = "collapse" data-target = "#app-accordion2-notworking .collapse" > Collapse broken< / div >
< div class = "btn btn-default btn-xs pull-right" data-toggle = "collapse" data-target = "#app-accordion2-inprogress .collapse" > Collapse in progress< / div >
< div class = "btn btn-default btn-xs pull-right" data-toggle = "collapse" data-target = "#app-accordion2-working .collapse" > Collapse working< / div >
2015-10-05 11:53:33 +02:00
< / div >
2016-04-19 06:50:36 +02:00
< h2 > Declared as working applications< / h2 >
< p > < b style = "color: red" > Important: it's the application maintaineur that qualify his application as working, not the YunoHost core team. Install it at your own risks. We won't provide support for it.< / b > < / p >
2015-04-01 16:00:53 +02:00
2016-04-19 06:50:36 +02:00
< div class = "panel-group" id = "app-accordion2-working" > < / div >
< h2 > Work in progress applications< / h2 >
< p > Those are < b > not yet finished< / b > applications, we < b > strongly advise against installing them< / b > except if you know what you are doing.< / p >
< div class = "panel-group" id = "app-accordion2-inprogress" > < / div >
2016-05-23 21:04:24 +02:00
< h2 > Broken applications< / h2 >
2016-04-19 06:50:36 +02:00
< p > Do < b > NOT< / b > install them, they are here as reference while they aren't fixed.< / p >
< div class = "panel-group" id = "app-accordion2-notworking" > < / div >
2015-10-04 00:56:36 +02:00
< script type = "text/template" id = "app-template2" >
2016-04-19 06:50:36 +02:00
< div class = "panel panel-default panel-{app_state_bootstrap}" >
2015-10-04 00:56:36 +02:00
< div class = "panel-heading" >
< div class = "panel-title" >
2015-10-04 02:39:51 +02:00
< a data-toggle = "collapse" data-parent = "#app-accordion" href = "apps_in_progress/#app_{app_id}" > {app_name} < em > < small > ({app_id})< / small > < / em > < / a >
2015-10-04 00:56:36 +02:00
< / div >
< / div >
< div class = "panel-collapse collapse app_{app_id}" >
< div class = "panel-body" >
< p > < strong > Description< / strong > : {app_description}< / p >
< p > < strong > Last update (UTC)< / strong > : {app_update}< / p >
2017-02-01 12:14:37 +01:00
< p > < strong > Level< / strong > : {app_level}< / p >
2015-10-04 00:56:36 +02:00
< p > < strong > Maintainer< / strong > : {app_maintainer} < small class = "text-muted" > ({app_mail})< / small > < / p >
2015-10-04 14:52:34 +02:00
< p > < strong > Git repository< / strong > : < a href = "{app_git}" target = "_blank" > {app_git}< / a > < small class = "text-muted" > ({app_branch})< / small > < / p >
2015-10-05 23:50:19 +02:00
< p > < strong > Software license< / strong > : {app_license}< / p >
2015-10-04 00:56:36 +02:00
< / div >
< / div >
< / script >
2015-04-01 16:00:53 +02:00
< script >
2015-10-04 00:56:36 +02:00
function timeConverter(UNIX_timestamp) {
var a = new Date(UNIX_timestamp*1000);
2015-10-05 23:50:19 +02:00
var months = ['January','February','March','April','May','June','July','August','September','October','November','December'];
2015-10-04 00:56:36 +02:00
var year = a.getFullYear();
var month = months[a.getMonth()];
var date = a.getDate();
var hour = a.getHours();
var min = a.getMinutes();
if (hour < 10 ) { hour = '0' + hour ; }
if (min < 10 ) { min = '0' + min ; }
var time = date+' '+month+' '+year+' at '+hour+':'+min;
return time;
}
2015-04-01 16:00:53 +02:00
$(document).ready(function () {
2016-03-23 08:46:09 +01:00
$.getJSON('https://app.yunohost.org/community.json', function(app_list) {
2015-04-01 16:00:53 +02:00
// Cast as array
var app_list = $.map(app_list, function(el) { return el; });
// Sort alpha
app_list.sort(function(a, b){
if (a.manifest.id > b.manifest.id) {return 1;}
else if (a.manifest.id < b.manifest.id ) { return -1 ; }
return 0;
});
$.each(app_list, function(k, infos) {
app_id = infos.manifest.id;
2016-04-19 06:50:36 +02:00
if (infos.state === "working") {
app_state_bootstrap = "default";
} else if (infos.state === "inprogress") {
app_state_bootstrap = "warning";
} else if (infos.state === "notworking") {
app_state_bootstrap = "danger";
}
2015-10-04 00:56:36 +02:00
html = $('#app-template2').html()
2015-04-01 16:00:53 +02:00
.replace(/{app_id}/g, app_id)
.replace(/{app_name}/g, infos.manifest.name)
.replace('{app_description}', infos.manifest.description.en)
.replace(/{app_git}/g, infos.git.url)
.replace('{app_branch}', infos.git.branch)
2017-02-01 13:27:55 +01:00
.replace('{app_level}', infos.level)
2015-10-04 00:56:36 +02:00
.replace('{app_update}', timeConverter(infos.lastUpdate))
2015-10-05 12:35:34 +02:00
.replace('{app_state}', infos.state)
2016-04-19 06:50:36 +02:00
.replace('{app_state_bootstrap}', app_state_bootstrap)
2015-10-05 12:35:34 +02:00
.replace('{app_license}', infos.manifest.license);
2015-04-01 16:00:53 +02:00
2015-10-04 00:56:36 +02:00
if (infos.manifest.developer) {
html = html
.replace('{app_maintainer}', infos.manifest.developer.name)
.replace('{app_mail}', infos.manifest.developer.email);
}
if (infos.manifest.maintainer) {
html = html
.replace('{app_maintainer}', infos.manifest.maintainer.name)
.replace('{app_mail}', infos.manifest.maintainer.email);
}
2016-04-19 06:50:36 +02:00
$('#app-accordion2-' + infos.state).append(html);
2015-04-01 16:00:53 +02:00
$('.app_'+ app_id).attr('id', 'app_'+ app_id);
2015-10-04 00:56:36 +02:00
});
2015-04-01 16:00:53 +02:00
});
});
2015-05-03 00:13:24 +02:00
< / script >