1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/slingcode_ynh.git synced 2024-09-03 20:25:55 +02:00
* Cleaning up
This commit is contained in:
Éric Gaspar 2021-09-05 10:38:14 +02:00 committed by GitHub
parent fe940f9839
commit 9ba8fbe9c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 129 additions and 98 deletions

View file

@ -1,3 +1,8 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->
# Slingcode for YunoHost # Slingcode for YunoHost
[![Integration level](https://dash.yunohost.org/integration/slingcode.svg)](https://dash.yunohost.org/appci/app/slingcode) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.maintain.svg) [![Integration level](https://dash.yunohost.org/integration/slingcode.svg)](https://dash.yunohost.org/appci/app/slingcode) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.maintain.svg)
@ -5,44 +10,43 @@
*[Lire ce readme en français.](./README_fr.md)* *[Lire ce readme en français.](./README_fr.md)*
> *This package allow you to install Slingcode quickly and simply on a YunoHost server. > *This package allows you to install Slingcode quickly and simply on a YunoHost server.
If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.*
## Overview ## Overview
Slingcode is a code editor contained in a single HTML file. Therefore, it has no server component, so all of your data is stored in your browser's cache. However, it is still possible to make web apps, run them, export them, and even share them using peer-to-peer. Slingcode is a code editor contained in a single HTML file. Therefore, it has no server component, so all of your data is stored in your browser's cache. However, it is still possible to make web apps, run them, export them, and even share them using peer-to-peer.
**Shipped version:** 0.2.2 ### Features:
- You can make, run, and share web apps with it.
- You don't need any complicated tools to use it, just a web browser.
- You don't need a server, hosting, or an SSL certificate to run the web apps.
- You can put Slingcode on a web site, run it from a USB stick, laptop, or phone, and it doesn't need an internet connection to work.
- You can "add to home screen" in your phone's browser to easily access your library of programs on the go.
- You can share apps peer-to-peer over WebTorrent.
- It's private. You only share what you choose.
**Shipped version:** 0.2.2~ynh3
**Demo:** https://slingcode.net/slingcode.html
## Screenshots ## Screenshots
![](sources/Screenshot.png) ![](./doc/screenshots/Screenshot.png)
## Demo ## Documentation and resources
* [Official demo](https://slingcode.net/slingcode.html) * Official app website: https://slingcode.net/
* Official user documentation: https://slingcode.net/screencasts.html
* Upstream app code repository: https://github.com/chr15m/slingcode
* YunoHost documentation for this app: https://yunohost.org/app_slingcode
* Report a bug: https://github.com/YunoHost-Apps/slingcode_ynh/issues
## Documentation ## Developer info
* Official documentation: https://slingcode.net/screencasts.html Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing).
#### Supported architectures
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/slingcode.svg)](https://ci-apps.yunohost.org/ci/apps/slingcode/)
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/slingcode.svg)](https://ci-apps-arm.yunohost.org/ci/apps/slingcode/)
## Links
* Report a bug: https://github.com/YunoHost-Apps/slingcode_ynh/issues
* App website: https://slingcode.net/
* Upstream app repository: https://github.com/chr15m/slingcode
* YunoHost website: https://yunohost.org/
---
## Developers info
Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing).
To try the testing branch, please proceed like that. To try the testing branch, please proceed like that.
``` ```
@ -50,3 +54,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/slingcode_ynh/tree/te
or or
sudo yunohost app upgrade slingcode -u https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing --debug sudo yunohost app upgrade slingcode -u https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing --debug
``` ```
**More info regarding app packaging:** https://yunohost.org/packaging_apps

View file

@ -1,44 +1,44 @@
# Slingcode pour YunoHost # Slingcode pour YunoHost
[![Integration level](https://dash.yunohost.org/integration/slingcode.svg)](https://dash.yunohost.org/appci/app/slingcode) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.maintain.svg) [![Niveau d'intégration](https://dash.yunohost.org/integration/slingcode.svg)](https://dash.yunohost.org/appci/app/slingcode) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/slingcode.maintain.svg)
[![Install Slingcode with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=slingcode) [![Installer Slingcode avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=slingcode)
*[Read this Slingcode in english.](./README.md)* *[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet dinstaller Slingcode rapidement et simplement sur un serveur YunoHost. > *Ce package vous permet d'installer Slingcode rapidement et simplement sur un serveur YunoHost.
Si vous navez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment linstaller et en profiter.* Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
## Vue densemble ## Vue d'ensemble
Slingcode est un éditeur de code contenu dans un unique fichier HTML. Il n'a pas de composant serveur, ce qui signifie que toutes vos données sont stockées dans le cache de votre navigateur. Cependant, il est toujours possible de créer des applications Web, de les exécuter, de les exporter et même de les partager en peer-to-peer. Slingcode est un éditeur de code contenu dans un unique fichier HTML. Il n'a pas de composant serveur, ce qui signifie que toutes vos données sont stockées dans le cache de votre navigateur. Cependant, il est toujours possible de créer des applications Web, de les exécuter, de les exporter et même de les partager en peer-to-peer.
**Version incluse :** 0.2.2 ### Caractéristiques:
## Captures décran - Vous pouvez créer, exécuter et partager des applications Web avec.
- Vous n'avez pas besoin d'outils compliqués pour l'utiliser, juste un navigateur Web.
- Vous n'avez pas besoin d'un serveur, d'un hébergement ou d'un certificat SSL pour exécuter les applications Web.
- Vous pouvez mettre Slingcode sur un site Web, l'exécuter à partir d'une clé USB, d'un ordinateur portable ou d'un téléphone, et il n'a pas besoin d'une connexion Internet pour fonctionner.
- Vous pouvez "ajouter à l'écran d'accueil" dans le navigateur de votre téléphone pour accéder facilement à votre bibliothèque de programmes lors de vos déplacements.
- Vous pouvez partager des applications peer-to-peer sur WebTorrent.
- C'est privé. Vous ne partagez que ce que vous choisissez.
![](sources/Screenshot.png)
## Démo **Version incluse :** 0.2.2~ynh3
* [Démo officielle](https://slingcode.net/slingcode.html) **Démo :** https://slingcode.net/slingcode.html
## Documentation ## Captures d'écran
* Documentation officielle : https://slingcode.net/screencasts.html ![](./doc/screenshots/Screenshot.png)
#### Architectures supportées ## Documentations et ressources
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/slingcode.svg)](https://ci-apps.yunohost.org/ci/apps/slingcode/) * Site officiel de l'app : https://slingcode.net/
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/slingcode.svg)](https://ci-apps-arm.yunohost.org/ci/apps/slingcode/) * Documentation officielle utilisateur : https://slingcode.net/screencasts.html
* Dépôt de code officiel de l'app : https://github.com/chr15m/slingcode
## Liens * Documentation YunoHost pour cette app : https://yunohost.org/app_slingcode
* Signaler un bug : https://github.com/YunoHost-Apps/slingcode_ynh/issues
* Signaler un bug : https://github.com/YunoHost-Apps/slingcode_ynh/issues
* Site de l'application : https://slingcode.net/
* Dépôt de lapplication principale : https://github.com/chr15m/slingcode
* Site web YunoHost : https://yunohost.org/
---
## Informations pour les développeurs ## Informations pour les développeurs
@ -47,6 +47,8 @@ Merci de faire vos pull request sur la [branche testing](https://github.com/Yuno
Pour essayer la branche testing, procédez comme suit. Pour essayer la branche testing, procédez comme suit.
``` ```
sudo yunohost app install https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing --debug sudo yunohost app install https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing --debug
or ou
sudo yunohost app upgrade slingcode -u https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing --debug sudo yunohost app upgrade slingcode -u https://github.com/YunoHost-Apps/slingcode_ynh/tree/testing --debug
``` ```
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps

View file

@ -1,9 +1,9 @@
;; Test complet ;; Test complet
auto_remove=1 auto_remove=1
; Manifest ; Manifest
domain="domain.tld" (DOMAIN) domain="domain.tld"
path="/path" (PATH) path="/path"
is_public=1 (PUBLIC|public=1|private=0) is_public=1
; Checks ; Checks
pkg_linter=1 pkg_linter=1
setup_sub_dir=1 setup_sub_dir=1

View file

@ -15,5 +15,4 @@ location __PATH__/ {
# Include SSOWAT user panel. # Include SSOWAT user panel.
#include conf.d/yunohost_panel.conf.inc; #include conf.d/yunohost_panel.conf.inc;
} }

11
doc/DESCRIPTION.md Normal file
View file

@ -0,0 +1,11 @@
Slingcode is a code editor contained in a single HTML file. Therefore, it has no server component, so all of your data is stored in your browser's cache. However, it is still possible to make web apps, run them, export them, and even share them using peer-to-peer.
### Features:
- You can make, run, and share web apps with it.
- You don't need any complicated tools to use it, just a web browser.
- You don't need a server, hosting, or an SSL certificate to run the web apps.
- You can put Slingcode on a web site, run it from a USB stick, laptop, or phone, and it doesn't need an internet connection to work.
- You can "add to home screen" in your phone's browser to easily access your library of programs on the go.
- You can share apps peer-to-peer over WebTorrent.
- It's private. You only share what you choose.

11
doc/DESCRIPTION_fr.md Normal file
View file

@ -0,0 +1,11 @@
Slingcode est un éditeur de code contenu dans un unique fichier HTML. Il n'a pas de composant serveur, ce qui signifie que toutes vos données sont stockées dans le cache de votre navigateur. Cependant, il est toujours possible de créer des applications Web, de les exécuter, de les exporter et même de les partager en peer-to-peer.
### Caractéristiques:
- Vous pouvez créer, exécuter et partager des applications Web avec.
- Vous n'avez pas besoin d'outils compliqués pour l'utiliser, juste un navigateur Web.
- Vous n'avez pas besoin d'un serveur, d'un hébergement ou d'un certificat SSL pour exécuter les applications Web.
- Vous pouvez mettre Slingcode sur un site Web, l'exécuter à partir d'une clé USB, d'un ordinateur portable ou d'un téléphone, et il n'a pas besoin d'une connexion Internet pour fonctionner.
- Vous pouvez "ajouter à l'écran d'accueil" dans le navigateur de votre téléphone pour accéder facilement à votre bibliothèque de programmes lors de vos déplacements.
- Vous pouvez partager des applications peer-to-peer sur WebTorrent.
- C'est privé. Vous ne partagez que ce que vous choisissez.

View file

Before

Width:  |  Height:  |  Size: 146 KiB

After

Width:  |  Height:  |  Size: 146 KiB

View file

@ -6,15 +6,22 @@
"en": "Browser based code editor in a single HTML file", "en": "Browser based code editor in a single HTML file",
"fr": "Éditeur de code en ligne contenu dans un seul fichier HTML" "fr": "Éditeur de code en ligne contenu dans un seul fichier HTML"
}, },
"url": "https://github.com/chr15m/slingcode", "url": "https://slingcode.net/",
"version": "0.2.2~ynh3", "version": "0.2.2~ynh3",
"upstream": {
"license": "MIT",
"website": "https://slingcode.net/",
"demo": "https://slingcode.net/slingcode.html",
"userdoc": "https://slingcode.net/screencasts.html",
"code": "https://github.com/chr15m/slingcode"
},
"license": "MIT", "license": "MIT",
"maintainer": { "maintainer": {
"name": "eric_G", "name": "eric_G",
"email": "" "email": ""
}, },
"requirements": { "requirements": {
"yunohost": ">= 4.1.7" "yunohost": ">= 4.2.4"
}, },
"multi_instance": true, "multi_instance": true,
"services": [ "services": [

View file

@ -46,6 +46,14 @@ ynh_script_progression --message="Storing installation settings..." --weight=2
ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=domain --value=$domain
ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_app_setting_set --app=$app --key=path --value=$path_url
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Configuring system user..." --weight=1
# Create a system user
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# STANDARD MODIFICATIONS # STANDARD MODIFICATIONS
#================================================= #=================================================
@ -58,6 +66,10 @@ ynh_app_setting_set --app=$app --key=final_path --value=$final_path
mkdir -p $final_path mkdir -p $final_path
cp -a ../sources/slingcode.html $final_path/slingcode.html cp -a ../sources/slingcode.html $final_path/slingcode.html
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -66,23 +78,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=2
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_nginx_config ynh_add_nginx_config
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Configuring system user..." --weight=1
# Create a system user
ynh_system_user_create --username=$app
#=================================================
# GENERIC FINALIZATION
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
# Set permissions to app files
chown -R $app: $final_path
#================================================= #=================================================
# SETUP SSOWAT # SETUP SSOWAT
#================================================= #=================================================

View file

@ -31,8 +31,6 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path)
#================================================= #=================================================
ynh_script_progression --message="Validating restoration parameters..." --weight=1 ynh_script_progression --message="Validating restoration parameters..." --weight=1
ynh_webpath_available --domain=$domain --path_url=$path_url \
|| ynh_die --message="Path not available: ${domain}${path_url}"
test ! -d $final_path \ test ! -d $final_path \
|| ynh_die --message="There is already a directory: $final_path " || ynh_die --message="There is already a directory: $final_path "
@ -44,6 +42,14 @@ test ! -d $final_path \
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RECREATE THE DEDICATED USER
#=================================================
ynh_script_progression --message="Recreating the dedicated system user..." --weight=1
# Create the dedicated user (if not existing)
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# RESTORE THE APP MAIN DIR # RESTORE THE APP MAIN DIR
#================================================= #=================================================
@ -51,20 +57,9 @@ ynh_script_progression --message="Restoring $app main directory..." --weight=2
ynh_restore_file --origin_path="$final_path" ynh_restore_file --origin_path="$final_path"
#================================================= chmod 750 "$final_path"
# RECREATE THE DEDICATED USER chmod -R o-rwx "$final_path"
#================================================= chown -R $app:www-data "$final_path"
ynh_script_progression --message="Recreating the dedicated system user..." --weight=1
# Create the dedicated user (if not existing)
ynh_system_user_create --username=$app
#=================================================
# RESTORE USER RIGHTS
#=================================================
# Restore permissions on app files
chown -R $app: $final_path
#================================================= #=================================================
# GENERIC FINALIZATION # GENERIC FINALIZATION

View file

@ -43,6 +43,14 @@ if ynh_legacy_permissions_exists; then
ynh_app_setting_delete --app=$app --key=is_public ynh_app_setting_delete --app=$app --key=is_public
fi fi
#=================================================
# CREATE DEDICATED USER
#=================================================
ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1
# Create a dedicated user (if not existing)
ynh_system_user_create --username=$app --home_dir="$final_path"
#================================================= #=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#================================================= #=================================================
@ -70,6 +78,10 @@ then
cp -a ../sources/slingcode.html $final_path/slingcode.html cp -a ../sources/slingcode.html $final_path/slingcode.html
fi fi
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:www-data "$final_path"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -78,13 +90,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." -
# Create a dedicated NGINX config # Create a dedicated NGINX config
ynh_add_nginx_config ynh_add_nginx_config
#=================================================
# SECURE FILES AND DIRECTORIES
#=================================================
# Set permissions on app files
chown -R $app: $final_path
#================================================= #=================================================
# RELOAD NGINX # RELOAD NGINX
#================================================= #=================================================