1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/snserver_ynh.git synced 2024-09-03 20:26:22 +02:00

Update: Remove self-hosted extensions

This commit is contained in:
Fabian Wilkens 2022-08-01 21:46:14 +02:00
parent 2a0f413937
commit 74aee8b733
No known key found for this signature in database
GPG key ID: 23DFA025BB4E9FAB
56 changed files with 19 additions and 1153 deletions

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/action-bar/archive/1.3.2.zip
SOURCE_SUM=35b03cc5be9b7d948016ca6f7de8e682361a810f884f6e2c0a71cb09100baba0
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/autobiography-theme/archive/1.0.0.zip
SOURCE_SUM=cbc8e07fa7703bdf8b7c9c3ef30a6d87d4ade7e5eb58ce7a983a34f1199a819d
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/bold-editor/archive/1.2.2.zip
SOURCE_SUM=2831f0fd4abed6562b860e558968388a398f691602a82795b10a13e897c3af2e
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/code-editor/archive/1.3.8.zip
SOURCE_SUM=085B3839F072601C704C3D97E180B66909A3EFA89B3D876298887D426C6315E4
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/dynamic-theme/archive/1.0.0.zip
SOURCE_SUM=2be90456a6d8e90b4c6c666c797b96c72935b41fde8aa2b29a219368ce100c99
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/focus-theme/archive/1.2.3.zip
SOURCE_SUM=371a48128bc0e95f2298053dc39c333454a2c11962a28e9a7749435da0e85340
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/folders-component/archive/1.3.8.zip
SOURCE_SUM=ae30cf348466af90b05216a16f8094fd9f087979dced6b1b83a8ad5f26a924e3
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/futura-theme/archive/1.2.2.zip
SOURCE_SUM=900cebb84e2a794ca5cd6d62d28705e18181ae6cac76c2d8fa6d109a24386e94
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/github-push/archive/1.2.4.zip
SOURCE_SUM=D902386F8E91E0DBAEE7763E9D6B2015B70426D1B91973F677DDAA63B5918574
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/markdown-basic/archive/1.4.0.zip
SOURCE_SUM=acfa7ea3974de9441381020c64e343303cbd7d27c30175ed3c047c17c6f98cad
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/markdown-pro/archive/1.3.14.zip
SOURCE_SUM=0fe5d2a062fc780e417979605e779ee17bbe580ecfa936a45d8007d8ca6d3b0e
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/math-editor/archive/1.3.4.zip
SOURCE_SUM=e8e69f082231f3052185c1f74c7bacdbc26b75fe1047045da2cf22f4459d97bf
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/mfa-link/archive/1.2.5.zip
SOURCE_SUM=f5f5221fa3cf53bf5ee94e60a5adb7a455d1ee46fabe8b0ef13e085f4098cbc8
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/midnight-theme/archive/1.2.2.zip
SOURCE_SUM=916aa7ebbd9df97d2dba0d14b322031307495787ededb4429a295792756b7c2b
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/minimal-markdown-editor/archive/1.3.7.zip
SOURCE_SUM=58232eeb4a129c1c89dbc86271832d68ff3c508e2256e80b099a18e95258cd70
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/no-distraction-theme/archive/1.2.2.zip
SOURCE_SUM=c6b3116aab0e87bdba25632f6e0820c98a47c10248c4760853fb69facc860088
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/plus-editor/archive/1.5.0.zip
SOURCE_SUM=2d30a2544523f9d482f17a0bdace0b7e803a40c96ccd320926776a403ec6cd6f
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/quick-tags/archive/1.3.2.zip
SOURCE_SUM=62B815B436F519412B16A58622D356219F391B11A6FBB88F5E018FF3520214CF
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/simple-task-editor/archive/1.3.7.zip
SOURCE_SUM=11afda3335058031880b7f1833d639f37b32d92c5b1ad8359503af2784706215
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/solarized-dark-theme/archive/1.2.1.zip
SOURCE_SUM=4f05dfb4edc9ce81fd22c01d101cc453509791e24475cfefd235dab15b4abfc6
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/titanium-theme/archive/1.2.2.zip
SOURCE_SUM=aa42d8911a514d454af045dc65433aef6361ecfd67ad27f1d8093b9da01bf2b3
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/token-vault/archive/1.0.10.zip
SOURCE_SUM=e078f096717ae03a50634d2267cea457deb49ced30e1741cd2ba28829aa1b947
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -1,5 +0,0 @@
SOURCE_URL=https://github.com/standardnotes/vim-editor/archive/1.3.7.zip
SOURCE_SUM=438AA36D64279EFFF0CF925253FC9666A3DAEBC148E49C2C70D6BC6D51BE78DE
SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true

View file

@ -9,7 +9,6 @@ NODEJS_VERSION="16"
syncing_server_js_version="1.54.1" syncing_server_js_version="1.54.1"
auth_version="1.46.2" auth_version="1.46.2"
api_gateway_version="1.40.1" api_gateway_version="1.40.1"
extensions_version="2021.08.27"
swap_needed=2048 swap_needed=2048
node_max_old_space_size=6144 node_max_old_space_size=6144

View file

@ -29,7 +29,6 @@ ynh_print_info "Loading installation settings..."
app=$YNH_APP_INSTANCE_NAME app=$YNH_APP_INSTANCE_NAME
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
final_path_www=$(ynh_app_setting_get --app=$app --key=final_path_www)
domain=$(ynh_app_setting_get --app=$app --key=domain) domain=$(ynh_app_setting_get --app=$app --key=domain)
db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_name=$(ynh_app_setting_get --app=$app --key=db_name)
@ -39,7 +38,6 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name)
ynh_print_info "Backing up the main app directory..." ynh_print_info "Backing up the main app directory..."
ynh_backup --src_path="$final_path" ynh_backup --src_path="$final_path"
ynh_backup --src_path="$final_path_www"
#================================================= #=================================================
# BACKUP THE NGINX CONFIGURATION # BACKUP THE NGINX CONFIGURATION

View file

@ -7,7 +7,6 @@
#================================================= #=================================================
source _common.sh source _common.sh
source ynh_send_readme_to_admin__2
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
@ -29,8 +28,6 @@ ynh_script_progression --message="Loading installation settings..." --weight=1
# Needed for helper "ynh_add_nginx_config" # Needed for helper "ynh_add_nginx_config"
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
final_path_www=$(ynh_app_setting_get --app=$app --key=final_path_www)
final_path_extensions=$(ynh_app_setting_get --app=$app --key=final_path_extensions)
port_syncing_server_js=$(ynh_app_setting_get --app=$app --key=port_syncing_server_js) port_syncing_server_js=$(ynh_app_setting_get --app=$app --key=port_syncing_server_js)
port_syncing_server_js_worker=$(ynh_app_setting_get --app=$app --key=port_syncing_server_js_worker) port_syncing_server_js_worker=$(ynh_app_setting_get --app=$app --key=port_syncing_server_js_worker)
port_auth=$(ynh_app_setting_get --app=$app --key=port_auth) port_auth=$(ynh_app_setting_get --app=$app --key=port_auth)
@ -105,31 +102,6 @@ fi
#================================================= #=================================================
# SPECIFIC MODIFICATIONS # SPECIFIC MODIFICATIONS
#================================================= #=================================================
#=================================================
# Modify Standard Notes - Extensions
#=================================================
ynh_script_progression --message="Modify Standard Notes - Extensions..." --weight=1
if [ $new_path = "/" ]
then
path=""
else
path=$new_path
fi
ynh_replace_string \
--match_string='url": "https://.*/extensions/src/' \
--replace_string='url": "https://'$new_domain$path'/extensions/src/' \
--target_file="$final_path_extensions/repo.json"
find "$final_path_extensions/src/" -name "*.json" -print0 | while read -d $'\0' file
do
ynh_replace_string \
--match_string='url": "https://.*/extensions/src/' \
--replace_string='url": "https://'$new_domain$path'extensions/src/' \
--target_file="$file"
done
#================================================= #=================================================
# SETUP FAIL2BAN # SETUP FAIL2BAN
#================================================= #=================================================
@ -151,22 +123,6 @@ ynh_script_progression --message="Reloading nginx web server..." --weight=1
ynh_systemd_action --service_name=nginx --action=reload ynh_systemd_action --service_name=nginx --action=reload
#=================================================
# SEND A README FOR THE ADMIN
#=================================================
ynh_script_progression --message="Sending a readme for the admin..."
admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
echo -e "\
Standard Notes - Syncing Server's url was successfully changed.\n\
Please configure the Standard Notes web app or mobile app to use this syncing server: https://$domain$path_url\n\
\n\
You changed the url of the server. All Extensions have to be reinstalled by the users. Or you can change the url back.\
" > message
ynh_send_readme_to_admin --app_message="message" --type='change_url'
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================

View file

@ -10,7 +10,6 @@ source _common.sh
source ynh_add_swap source ynh_add_swap
source ynh_install_ruby__2 source ynh_install_ruby__2
source ynh_redis source ynh_redis
source ynh_send_readme_to_admin__2
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
@ -35,13 +34,8 @@ app=$YNH_APP_INSTANCE_NAME
# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS
#================================================= #=================================================
final_path=/opt/yunohost/$app final_path=/opt/yunohost/$app
final_path_www=/var/www/$app
final_path_extensions="$final_path_www/extensions"
ynh_app_setting_set --app=$app --key=final_path --value=$final_path ynh_app_setting_set --app=$app --key=final_path --value=$final_path
ynh_app_setting_set --app=$app --key=final_path_www --value=$final_path_www
ynh_app_setting_set --app=$app --key=final_path_extensions --value=$final_path_extensions
test ! -e "$final_path" || ynh_die --message="This path already contains a folder" test ! -e "$final_path" || ynh_die --message="This path already contains a folder"
test ! -e "$final_path_www" || ynh_die --message="This path already contains a folder"
# Register (book) web path # Register (book) web path
ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url
@ -62,7 +56,6 @@ ynh_app_setting_set --app=$app --key=redis_db --value="$redis_db"
ynh_app_setting_set --app=$app --key=syncing_server_js_version --value=$syncing_server_js_version ynh_app_setting_set --app=$app --key=syncing_server_js_version --value=$syncing_server_js_version
ynh_app_setting_set --app=$app --key=auth_version --value=$auth_version ynh_app_setting_set --app=$app --key=auth_version --value=$auth_version
ynh_app_setting_set --app=$app --key=api_gateway_version --value=$api_gateway_version ynh_app_setting_set --app=$app --key=api_gateway_version --value=$api_gateway_version
ynh_app_setting_set --app=$app --key=extensions_version --value=$extensions_version
ynh_app_setting_set --app=$app --key=standalone --value="true" ynh_app_setting_set --app=$app --key=standalone --value="true"
#================================================= #=================================================
@ -126,30 +119,6 @@ chmod 750 "$final_path"
chmod -R o-rwx "$final_path" chmod -R o-rwx "$final_path"
chown -R $app:$app "$final_path" chown -R $app:$app "$final_path"
# Copy help file
mkdir -p "$final_path_www/help"
if test -e "$YNH_APP_BASEDIR/sources/extra_files/help"; then
cp --archive "$YNH_APP_BASEDIR/sources/extra_files/help/." "$final_path_www/help"
fi
ynh_replace_vars --file="$final_path_www/help/index.html"
# Extensions
mkdir -p "$final_path_extensions"
if test -e "$YNH_APP_BASEDIR/sources/extra_files/extensions"; then
cp --archive "$YNH_APP_BASEDIR/sources/extra_files/extensions/." "$final_path_extensions"
fi
find "../conf/" -name "ext_*.src" -print0 | while read -d $'\0' file
do
basename=$(basename -as .src $file)
ynh_setup_source --dest_dir="$final_path_extensions/src/${basename#'ext_'}" --source_id="$basename"
done
chmod 750 "$final_path_www"
chmod -R o-rwx "$final_path_www"
chown -R "www-data":"www-data" "$final_path_www"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -219,26 +188,6 @@ pushd "$final_path/live/api-gateway"
ynh_exec_warn_less ynh_exec_as $app env NODE_OPTIONS="--max-old-space-size=$node_max_old_space_size" PATH=$ynh_node_load_PATH yarn install --pure-lockfile ynh_exec_warn_less ynh_exec_as $app env NODE_OPTIONS="--max-old-space-size=$node_max_old_space_size" PATH=$ynh_node_load_PATH yarn install --pure-lockfile
ynh_exec_warn_less ynh_exec_as $app env NODE_OPTIONS="--max-old-space-size=$node_max_old_space_size" PATH=$ynh_node_load_PATH yarn build ynh_exec_warn_less ynh_exec_as $app env NODE_OPTIONS="--max-old-space-size=$node_max_old_space_size" PATH=$ynh_node_load_PATH yarn build
popd popd
#=================================================
# INSTALLING Standard Notes - Extensions
#=================================================
ynh_script_progression --message="Setup Standard Notes - Extensions..." --weight=1
if [ $path_url = "/" ]
then
path=""
else
path=$path_url
fi
ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$final_path_extensions/repo.json"
find "$final_path_extensions/src/" -name "*.json" -print0 | while read -d $'\0' file
do
ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$file"
done
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
@ -343,7 +292,6 @@ ynh_script_progression --message="Configuring SSOwat..." --weight=3
# Everyone can access the app. # Everyone can access the app.
# The "main" permission is automatically created before the install script. # The "main" permission is automatically created before the install script.
ynh_permission_update --permission="main" --add="visitors" --show_tile="false" ynh_permission_update --permission="main" --add="visitors" --show_tile="false"
ynh_permission_create --permission="help" --url="/help/" --allowed="all_users" --show_tile="true" --label="Help"
#================================================= #=================================================
# RELOAD NGINX # RELOAD NGINX
@ -352,25 +300,6 @@ ynh_script_progression --message="Reloading nginx web server..." --weight=1
ynh_systemd_action --service_name=nginx --action=reload ynh_systemd_action --service_name=nginx --action=reload
#=================================================
# SEND A README FOR THE ADMIN
#=================================================
ynh_script_progression --message="Sending a readme for the admin..."
admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
echo -e "\
Standard Notes - Syncing Server was successfully installed.\n\
Please configure the Standard Notes web app or mobile app to use this syncing server: https://$domain$path_url\n\
\n\
Standard Notes extensions are hosted with this package.\n\
An Help page for setting-up the Standard Notes Server and Extensions have been created under: https://$domain$path_url/help\n\
The Help page is accessible via the Yunohost Portal.\n\
You can deactivate the Help page under: $admin_panel\
" > message
ynh_send_readme_to_admin --app_message="message" --type='install'
#================================================= #=================================================
# END OF SCRIPT # END OF SCRIPT
#================================================= #=================================================

View file

@ -28,7 +28,6 @@ port_api_gateway=$(ynh_app_setting_get --app=$app --key=port_api_gateway)
db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name db_user=$db_name
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
final_path_www=$(ynh_app_setting_get --app=$app --key=final_path_www)
#================================================= #=================================================
# STANDARD REMOVE # STANDARD REMOVE
@ -106,7 +105,6 @@ ynh_script_progression --message="Removing app main directory..." --weight=1
# Remove the app directory securely # Remove the app directory securely
ynh_secure_remove --file="$final_path" ynh_secure_remove --file="$final_path"
ynh_secure_remove --file="$final_path_www"
#================================================= #=================================================
# REMOVE NGINX CONFIGURATION # REMOVE NGINX CONFIGURATION

View file

@ -34,7 +34,6 @@ app=$YNH_APP_INSTANCE_NAME
domain=$(ynh_app_setting_get --app=$app --key=domain) domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path) path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
final_path_www=$(ynh_app_setting_get --app=$app --key=final_path_www)
db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name db_user=$db_name
db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd)
@ -87,7 +86,6 @@ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
ynh_script_progression --message="Restoring the app main directory..." --weight=1 ynh_script_progression --message="Restoring the app main directory..." --weight=1
ynh_restore_file --origin_path="$final_path" ynh_restore_file --origin_path="$final_path"
ynh_restore_file --origin_path="$final_path_www"
#================================================= #=================================================
# RECREATE THE DEDICATED USER # RECREATE THE DEDICATED USER
@ -106,10 +104,6 @@ chmod 750 "$final_path"
chmod -R o-rwx "$final_path" chmod -R o-rwx "$final_path"
chown -R $app:$app "$final_path" chown -R $app:$app "$final_path"
chmod 750 "$final_path_www"
chmod -R o-rwx "$final_path_www"
chown -R "www-data":"www-data" "$final_path_www"
mkdir -p "/var/log/$app" mkdir -p "/var/log/$app"
chown -R $app: "/var/log/$app" chown -R $app: "/var/log/$app"

View file

@ -10,7 +10,6 @@ source _common.sh
source ynh_add_swap source ynh_add_swap
source ynh_install_ruby__2 source ynh_install_ruby__2
source ynh_redis source ynh_redis
source ynh_send_readme_to_admin__2
source /usr/share/yunohost/helpers source /usr/share/yunohost/helpers
#================================================= #=================================================
@ -24,8 +23,6 @@ domain=$(ynh_app_setting_get --app=$app --key=domain)
path_url=$(ynh_app_setting_get --app=$app --key=path) path_url=$(ynh_app_setting_get --app=$app --key=path)
final_path=$(ynh_app_setting_get --app=$app --key=final_path) final_path=$(ynh_app_setting_get --app=$app --key=final_path)
final_path_www=$(ynh_app_setting_get --app=$app --key=final_path_www)
final_path_extensions=$(ynh_app_setting_get --app=$app --key=final_path_extensions)
db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_name=$(ynh_app_setting_get --app=$app --key=db_name)
db_user=$db_name db_user=$db_name
@ -139,11 +136,6 @@ if ! ynh_permission_exists --permission="main"
then then
ynh_permission_create --permission="main" --url="/" --allowed="visitors" --show_tile="false" ynh_permission_create --permission="main" --url="/" --allowed="visitors" --show_tile="false"
fi fi
# Create a permission if needed
if ! ynh_permission_exists --permission="help"
then
ynh_permission_create --permission="help" --url="/help/" --allowed="all_users" --show_tile="true" --label="Help"
fi
# If final_path doesn't exist, create it # If final_path doesn't exist, create it
if [ -z "$final_path" ]; then if [ -z "$final_path" ]; then
@ -151,17 +143,6 @@ if [ -z "$final_path" ]; then
ynh_app_setting_set --app=$app --key=final_path --value=$final_path ynh_app_setting_set --app=$app --key=final_path --value=$final_path
fi fi
# If final_path doesn't exist, create it
if [ -z "$final_path_www" ]; then
final_path_www=/var/www/$app
ynh_app_setting_set --app=$app --key=final_path_www --value=$final_path_www
fi
# If final_path doesn't exist, create it
if [ -z "$final_path_extensions" ]; then
final_path_extensions=/var/www/$app/extensions
ynh_app_setting_set --app=$app --key=final_path_extensions --value=$final_path_extensions
fi
# If redis_db doesn't exist, create it # If redis_db doesn't exist, create it
if [ -z "$redis_db" ]; then if [ -z "$redis_db" ]; then
@ -245,6 +226,22 @@ if [ -n $(ynh_app_setting_get --app="$app" --key=port) ]; then
ynh_app_setting_delete --app=$app --key=port ynh_app_setting_delete --app=$app --key=port
fi fi
# If final_path exist, delete it
if [ -n "$final_path_www" ]; then
ynh_app_setting_delete --app=$app --key=final_path_www
fi
# If final_path exist, delete it
if [ -n "$final_path_extensions" ]; then
ynh_app_setting_delete --app=$app --key=final_path_extensions
fi
# If permission help exists, delete it
if ynh_permission_exists --permission="help"
then
ynh_permission_delete --permission="help"
fi
# If old service exsits; remove it # If old service exsits; remove it
if ynh_exec_warn_less yunohost service status "$app" >/dev/null if ynh_exec_warn_less yunohost service status "$app" >/dev/null
then then
@ -275,6 +272,9 @@ fi
if [ -e "$final_path/live/auth-worker" ]; then if [ -e "$final_path/live/auth-worker" ]; then
ynh_secure_remove --file="$final_path/live/auth-worker" ynh_secure_remove --file="$final_path/live/auth-worker"
fi fi
if [ -e "/var/www/$app" ]; then
ynh_secure_remove --file="/var/www/$app"
fi
#================================================= #=================================================
# CREATE DEDICATED USER # CREATE DEDICATED USER
@ -336,40 +336,10 @@ then
ynh_setup_source --source_id=app_api-gateway --dest_dir="$final_path/live/api-gateway" ynh_setup_source --source_id=app_api-gateway --dest_dir="$final_path/live/api-gateway"
fi fi
if [[ "$extensions_version_installed" < "$extensions_version" ]]
then
# Remove destination directory
ynh_secure_remove --file="$final_path_extensions"
# Download, check integrity, uncompress and patch the source from app.src
mkdir -p "$final_path_extensions"
if test -e "../sources/extra_files/extensions"
then
cp -a "../sources/extra_files/extensions/." "$final_path_extensions"
fi
find "../conf/" -name "ext_*.src" -print0 | while read -d $'\0' file
do
basename=$(basename -as .src $file)
ynh_setup_source --dest_dir="$final_path_extensions/src/${basename#'ext_'}" --source_id="$basename"
done
fi
# Copy help file
ynh_secure_remove --file="$final_path_www/help"
mkdir -p "$final_path_www/help"
if test -e "$YNH_APP_BASEDIR/sources/extra_files/help"; then
cp --archive "$YNH_APP_BASEDIR/sources/extra_files/help/." "$final_path_www/help"
fi
ynh_replace_vars --file="$final_path_www/help/index.html"
chmod 750 "$final_path" chmod 750 "$final_path"
chmod -R o-rwx "$final_path" chmod -R o-rwx "$final_path"
chown -R $app:$app "$final_path" chown -R $app:$app "$final_path"
chmod 750 "$final_path_www"
chmod -R o-rwx "$final_path_www"
chown -R "www-data":"www-data" "$final_path_www"
#================================================= #=================================================
# NGINX CONFIGURATION # NGINX CONFIGURATION
#================================================= #=================================================
@ -447,29 +417,6 @@ then
fi fi
fi fi
#=================================================
# INSTALLING Standard Notes - Extensions
#=================================================
if [[ "$extensions_version_installed" < "$extensions_version" ]]
then
ynh_script_progression --message="Installing Standard Notes - Extensions..." --weight=1
if [ $path_url = "/" ]
then
path=""
else
path=$path_url
fi
ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$final_path_extensions/repo.json"
find "$final_path_extensions/src/" -name "*.json" -print0 | while read -d $'\0' file
do
ynh_replace_string --match_string="__DOMAIN__PATH__" --replace_string="$domain$path" --target_file="$file"
done
ynh_app_setting_set --app=$app --key=extensions_version --value=$extensions_version
fi
#================================================= #=================================================
# SETUP SYSTEMD # SETUP SYSTEMD
#================================================= #=================================================
@ -570,25 +517,6 @@ ynh_script_progression --message="Reloading nginx web server..." --weight=1
ynh_systemd_action --service_name=nginx --action=reload ynh_systemd_action --service_name=nginx --action=reload
#=================================================
# SEND A README FOR THE ADMIN
#=================================================
ynh_script_progression --message="Sending a readme for the admin..."
admin_panel="https://$(grep portal_domain /etc/ssowat/conf.json | cut -d'"' -f4)/yunohost/admin/#/apps/$app"
echo -e "\
Standard Notes - Syncing Server was successfully upgraded.\n\
Please configure the Standard Notes web app or mobile app to use this syncing server: https://$domain$path_url\n\
\n\
Standard Notes extensions are hosted with this package.\n\
An Help page for setting-up the Standard Notes Server and Extensions have been created under: https://$domain$path_url/help\n\
The Help page is accessible via the Yunohost Portal.\n\
You can deactivate the Help page under: $admin_panel\
" > message
ynh_send_readme_to_admin --app_message="message" --type='upgrade'
#================================================= #=================================================
# STORE SETTINGS # STORE SETTINGS
#================================================= #=================================================

View file

@ -1,140 +0,0 @@
#!/bin/bash
# Send an email to inform the administrator
#
# usage: ynh_send_readme_to_admin --app_message=app_message [--recipients=recipients] [--type=type]
# | arg: -m --app_message= - The file with the content to send to the administrator.
# | arg: -r, --recipients= - The recipients of this email. Use spaces to separate multiples recipients. - default: root
# example: "root admin@domain"
# If you give the name of a YunoHost user, ynh_send_readme_to_admin will find its email adress for you
# example: "root admin@domain user1 user2"
# | arg: -t, --type= - Type of mail, could be 'backup', 'change_url', 'install', 'remove', 'restore', 'upgrade'
ynh_send_readme_to_admin() {
# Declare an array to define the options of this helper.
declare -Ar args_array=( [m]=app_message= [r]=recipients= [t]=type= )
local app_message
local recipients
local type
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
app_message="${app_message:-}"
recipients="${recipients:-root}"
type="${type:-install}"
# Get the value of admin_mail_html
admin_mail_html=$(ynh_app_setting_get $app admin_mail_html)
admin_mail_html="${admin_mail_html:-0}"
# Retrieve the email of users
find_mails () {
local list_mails="$1"
local mail
local recipients=" "
# Read each mail in argument
for mail in $list_mails
do
# Keep root or a real email address as it is
if [ "$mail" = "root" ] || echo "$mail" | grep --quiet "@"
then
recipients="$recipients $mail"
else
# But replace an user name without a domain after by its email
if mail=$(ynh_user_get_info "$mail" "mail" 2> /dev/null)
then
recipients="$recipients $mail"
fi
fi
done
echo "$recipients"
}
recipients=$(find_mails "$recipients")
# Subject base
local mail_subject="☁️🆈🅽🅷☁️: \`$app\`"
# Adapt the subject according to the type of mail required.
if [ "$type" = "backup" ]; then
mail_subject="$mail_subject has just been backup."
elif [ "$type" = "change_url" ]; then
mail_subject="$mail_subject has just been moved to a new URL!"
elif [ "$type" = "remove" ]; then
mail_subject="$mail_subject has just been removed!"
elif [ "$type" = "restore" ]; then
mail_subject="$mail_subject has just been restored!"
elif [ "$type" = "upgrade" ]; then
mail_subject="$mail_subject has just been upgraded!"
else # install
mail_subject="$mail_subject has just been installed!"
fi
local mail_message="This is an automated message from your beloved YunoHost server.
Specific information for the application $app.
$(if [ -n "$app_message" ]
then
cat "$app_message"
else
echo "...No specific information..."
fi)
---
Automatic diagnosis data from YunoHost
__PRE_TAG1__$(yunohost tools diagnosis | grep -B 100 "services:" | sed '/services:/d')__PRE_TAG2__"
# Store the message into a file for further modifications.
echo "$mail_message" > mail_to_send
# If a html email is required. Apply html tags to the message.
if [ "$admin_mail_html" -eq 1 ]
then
# Insert 'br' tags at each ending of lines.
ynh_replace_string "$" "<br>" mail_to_send
# Insert starting HTML tags
sed --in-place '1s@^@<!DOCTYPE html>\n<html>\n<head></head>\n<body>\n@' mail_to_send
# Keep tabulations
ynh_replace_string " " "\&#160;\&#160;" mail_to_send
ynh_replace_string "\t" "\&#160;\&#160;" mail_to_send
# Insert url links tags
ynh_replace_string "__URL_TAG1__\(.*\)__URL_TAG2__\(.*\)__URL_TAG3__" "<a href=\"\2\">\1</a>" mail_to_send
# Insert pre tags
ynh_replace_string "__PRE_TAG1__" "<pre>" mail_to_send
ynh_replace_string "__PRE_TAG2__" "<\pre>" mail_to_send
# Insert finishing HTML tags
echo -e "\n</body>\n</html>" >> mail_to_send
# Otherwise, remove tags to keep a plain text.
else
# Remove URL tags
ynh_replace_string "__URL_TAG[1,3]__" "" mail_to_send
ynh_replace_string "__URL_TAG2__" ": " mail_to_send
# Remove PRE tags
ynh_replace_string "__PRE_TAG[1-2]__" "" mail_to_send
fi
# Define binary to use for mail command
if [ -e /usr/bin/bsd-mailx ]
then
local mail_bin=/usr/bin/bsd-mailx
else
local mail_bin=/usr/bin/mail.mailutils
fi
if [ "$admin_mail_html" -eq 1 ]
then
content_type="text/html"
else
content_type="text/plain"
fi
# Send the email to the recipients
cat mail_to_send | $mail_bin -a "Content-Type: $content_type; charset=UTF-8" -s "$mail_subject" "$recipients"
}

View file

@ -1,302 +0,0 @@
{
"content_type": "SN|Repo",
"packages": [
{
"area": "theme",
"content_type": "SN|Theme",
"description": "Autobiography",
"dock_icon": {
"background_color": "#9D7441",
"border_color": "#9D7441",
"foreground_color": "#ECE4DB",
"type": "circle"
},
"download_url": "https://github.com/standardnotes/autobiography-theme/archive/1.0.0.zip",
"identifier": "org.stndardnotes.autobiography-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/autobiography-theme.json",
"name": "Autobiography Theme",
"url": "https://__DOMAIN__PATH__/extensions/src/autobiography-theme/dist/dist.css",
"version": "1.0.0"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "Light on the eyes, heavy on the spirit.",
"dock_icon": {
"background_color": "#a464c2",
"border_color": "#a464c2",
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/standardnotes/focus-theme/archive/1.2.3.zip",
"identifier": "org.stndardnotes.focus-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/focus-theme.json",
"name": "Focus Theme",
"url": "https://__DOMAIN__PATH__/extensions/src/focus-theme/dist/dist.css",
"version": "1.2.3"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "Calm and relaxed. Take some time off.",
"dock_icon": {
"background_color": "#fca429",
"border_color": "#fca429",
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/standardnotes/futura-theme/archive/1.2.2.zip",
"identifier": "org.standardnotes.futura-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/futura-theme.json",
"name": "Futura Theme",
"url": "https://__DOMAIN__PATH__/extensions/src/futura-theme/dist/dist.css",
"version": "1.2.2"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "Elegant utilitarianism.",
"dock_icon": {
"background_color": "#086DD6",
"border_color": "#086DD6",
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/standardnotes/midnight-theme/archive/1.2.2.zip",
"identifier": "org.standardnotes.midnight-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/midnight-theme.json",
"name": "Midnight Theme",
"url": "https://__DOMAIN__PATH__/extensions/src/midnight-theme/dist/dist.css",
"version": "1.2.2"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "The perfect theme for any time.",
"dock_icon": {
"background_color": "#2AA198",
"border_color": "#2AA198",
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/standardnotes/solarized-dark-theme/archive/1.2.1.zip",
"identifier": "org.stndardnotes.solarized-dark-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/solarized-dark-theme.json",
"name": "Solarized Dark Theme",
"url": "https://__DOMAIN__PATH__/extensions/src/solarized-theme/dist/dist.css",
"version": "1.2.1"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "Light on the eyes, heavy on the spirit.",
"dock_icon": {
"background_color": "#6e2b9e",
"border_color": "#6e2b9e",
"foreground_color": "#ffffff",
"type": "circle"
},
"download_url": "https://github.com/standardnotes/titanium-theme/archive/1.2.2.zip",
"identifier": "org.stndardnotes.titanium-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/titanium-theme.json",
"name": "Titanium Theme",
"url": "https://__DOMAIN__PATH__/extensions/src/titanium-theme/dist/dist.css",
"version": "1.2.2"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "A smart theme that minimizes the tags and notes panels when they are not in use..",
"download_url": "https://github.com/standardnotes/dynamic-theme/archive/1.0.0.zip",
"identifier": "org.standardnotes.dynamic-theme",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/dynamic-theme.json",
"layerable": true,
"name": "Dynamic Theme",
"no_mobile": true,
"url": "https://__DOMAIN__PATH__/extensions/src/dynamic-theme/dist/dist.css",
"version": "1.0.0"
},
{
"area": "theme",
"content_type": "SN|Theme",
"description": "A distraction-free writing environment for high levels of clarity and focus.",
"dock_icon": {
"source": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M424 64H88c-26.6 0-48 21.6-48 48v288c0 26.4 21.4 48 48 48h336c26.4 0 48-21.6 48-48V112c0-26.4-21.4-48-48-48zm0 336H88V176h336v224z\"/></svg>",
"type": "svg"
},
"download_url": "https://github.com/standardnotes/no-distraction-theme/archive/1.2.2.zip",
"identifier": "org.standardnotes.no-distraction",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/no-distraction-theme.json",
"layerable": true,
"name": "No Distraction Theme",
"no_mobile": true,
"url": "https://__DOMAIN__PATH__/extensions/src/no-distraction-theme/dist/dist.css",
"version": "1.2.2"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A simple and peaceful rich editor that helps you write and think clearly. Features FileSafe integration, so you can embed your images, videos, and audio recordings directly inline.",
"download_url": "https://github.com/standardnotes/bold-editor/archive/1.2.2.zip",
"identifier": "org.standardnotes.bold-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/bold-editor.json",
"name": "Bold Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/bold-editor/dist/index.html",
"version": "1.2.2"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "Syntax highlighting and convenient keyboard shortcuts for over 120 programming languages. Ideal for code snippets and procedures.",
"download_url": "https://github.com/standardnotes/code-editor/archive/1.3.8.zip",
"identifier": "org.standardnotes.code-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/code-editor.json",
"name": "Code Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/code-editor/index.html",
"version": "1.3.8"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A Markdown editor with dynamic split-pane preview.",
"download_url": "https://github.com/standardnotes/markdown-basic/archive/1.4.0.zip",
"identifier": "org.standardnotes.markdown-basic-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic.json",
"name": "Markdown Basic",
"url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic/dist/index.html",
"version": "1.4.0"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A fully featured Markdown editor that supports live preview, a styling toolbar, and split pane support.",
"download_url": "https://github.com/standardnotes/markdown-pro/archive/1.3.14.zip",
"identifier": "org.standardnotes.markdown-pro",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/markdown-pro.json",
"name": "Markdown Pro",
"url": "https://__DOMAIN__PATH__/extensions/src/markdown-pro/dist/index.html",
"version": "1.3.14"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A beautiful split-pane Markdown editor with synced-scroll, LaTeX support, and colorful syntax.",
"download_url": "https://github.com/standardnotes/math-editor/archive/1.3.4.zip",
"identifier": "org.standardnotes.math-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/math-editor.json",
"name": "Math Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/math-editor/index.html",
"version": "1.3.4"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A minimal Markdown editor with inline style support.",
"download_url": "https://github.com/standardnotes/minimal-markdown-editor/archive/1.3.7.zip",
"identifier": "org.stndardnotes.minimal-markdown-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/minimal-markdown-editor.json",
"name": "Minimal Markdown Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/minimal-markdown-editor/index.html",
"version": "1.3.7"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "From highlighting to custom font sizes and colors, to tables and lists, this editor is perfect for crafting any document. (Converts your note to an HTML format.)",
"download_url": "https://github.com/standardnotes/plus-editor/archive/1.5.0.zip",
"identifier": "org.standardnotes.plus-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/plus-editor.json",
"name": "Plus Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/plus-editor/dist/index.html",
"version": "1.5.0"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A great way to manage short-term and long-term to-do's. You can mark simple-tasks as completed, change their order, and edit the text naturally in place.",
"download_url": "https://github.com/standardnotes/simple-task-editor/archive/1.3.7.zip",
"identifier": "org.standardnotes.simple-task-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/simple-task-editor.json",
"name": "Task Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/simple-task-editor/dist/index.html",
"version": "1.3.7"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "Use Standard Notes on both desktop and mobile as your authenticator app. TokenVault handles your 2FA secrets so that you never lose them again, or have to start over when you get a new device.",
"download_url": "https://github.com/standardnotes/token-vault/archive/1.0.10.zip",
"identifier": "org.stndardnotes.token-vault",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/token-vault.json",
"name": "Token Vault",
"url": "https://__DOMAIN__PATH__/extensions/src/token-vault/dist/index.html",
"version": "1.0.10"
},
{
"area": "editor-editor",
"content_type": "SN|Component",
"description": "A code editor with Vim key bindings.",
"download_url": "https://github.com/standardnotes/vim-editor/archive/1.3.7.zip",
"identifier": "org.stndardnotes.vim-editor",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/vim-editor.json",
"name": "Vim Editor",
"url": "https://__DOMAIN__PATH__/extensions/src/vim-editor/index.html",
"version": "1.3.7"
},
{
"area": "editor-stack",
"content_type": "SN|Component",
"description": "Useful utility bar with information about the current note as well as actions like duplicate, copy, and save.",
"download_url": "https://github.com/standardnotes/action-bar/archive/1.3.2.zip",
"identifier": "org.stndardnotes.action-bar",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/action-bar.json",
"name": "Action Bar",
"url": "https://__DOMAIN__PATH__/extensions/src/action-bar/index.html",
"version": "1.3.2"
},
{
"area": "tags-list",
"content_type": "SN|Component",
"description": "Create nested folders from your tags with easy drag and drop. Folders also supports Smart Tags, which allow you to build custom filters for viewing your notes.",
"download_url": "https://github.com/standardnotes/folders-component/archive/1.3.8.zip",
"identifier": "org.stndardnotes.folders-component",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/folders-component.json",
"name": "Folders",
"url": "https://__DOMAIN__PATH__/extensions/src/folders-component/index.html",
"version": "1.3.8"
},
{
"area": "editor-stack",
"content_type": "SN|Component",
"description": "Push note changes to a public or private GitHub repository, with options for file extension and commit message.",
"download_url": "https://github.com/standardnotes/github-push/archive/1.2.4.zip",
"identifier": "org.stndardnotes.github-push",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/github-push.json",
"name": "Github Push",
"url": "https://__DOMAIN__PATH__/extensions/src/github-push/index.html",
"version": "1.2.4"
},
{
"area": "modal",
"content_type": "SN|Component",
"description": "Set up 2FA to enable an extra layer of security on your private notes account.",
"download_url": "https://github.com/standardnotes/mfa-link/archive/1.2.5.zip",
"identifier": "org.stndardnotes.mfa-link",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/mfa-link.json",
"name": "MFA-Link",
"url": "https://__DOMAIN__PATH__/extensions/src/mfa-link/dist/index.html",
"version": "1.2.5"
},
{
"area": "note-tags",
"content_type": "SN|Component",
"description": "Work more efficiently by quickly selecting from a live list of tags while you type. Supports keyboard shortcuts and folders.",
"download_url": "https://github.com/standardnotes/quick-tags/archive/1.3.2.zip",
"identifier": "org.stndardnotes.quick-tags",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/quick-tags.json",
"name": "Quick Tags",
"url": "https://__DOMAIN__PATH__/extensions/src/quick-tags/index.html",
"version": "1.3.2"
}
]
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.action-bar",
"name": "Action Bar",
"content_type": "SN|Component",
"area": "editor-stack",
"version": "1.3.2",
"description": "Useful utility bar with information about the current note as well as actions like duplicate, copy, and save.",
"url": "https://__DOMAIN__PATH__/extensions/src/action-bar/index.html",
"download_url": "https://github.com/standardnotes/action-bar/archive/1.3.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/action-bar.json"
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.stndardnotes.autobiography-theme",
"name": "Autobiography Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.0.0",
"description": "Autobiography",
"url": "https://__DOMAIN__PATH__/extensions/src/autobiography-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/autobiography-theme/archive/1.0.0.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/autobiography-theme.json",
"dock_icon":{
"type":"circle",
"background_color":"#9D7441",
"foreground_color":"#ECE4DB",
"border_color":"#9D7441"
}
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.bold-editor",
"name": "Bold Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.2.2",
"description": "A simple and peaceful rich editor that helps you write and think clearly. Features FileSafe integration, so you can embed your images, videos, and audio recordings directly inline.",
"url": "https://__DOMAIN__PATH__/extensions/src/bold-editor/dist/index.html",
"download_url": "https://github.com/standardnotes/bold-editor/archive/1.2.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/bold-editor.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.code-editor",
"name": "Code Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.8",
"description": "Syntax highlighting and convenient keyboard shortcuts for over 120 programming languages. Ideal for code snippets and procedures.",
"url": "https://__DOMAIN__PATH__/extensions/src/code-editor/index.html",
"download_url": "https://github.com/standardnotes/code-editor/archive/1.3.8.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/code-editor.json"
}

View file

@ -1,13 +0,0 @@
{
"identifier": "org.standardnotes.dynamic-theme",
"name": "Dynamic Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.0.0",
"description": "A smart theme that minimizes the tags and notes panels when they are not in use..",
"url": "https://__DOMAIN__PATH__/extensions/src/dynamic-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/dynamic-theme/archive/1.0.0.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/dynamic-theme.json",
"layerable":true,
"no_mobile":true
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.stndardnotes.focus-theme",
"name": "Focus Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.2.3",
"description": "Light on the eyes, heavy on the spirit.",
"url": "https://__DOMAIN__PATH__/extensions/src/focus-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/focus-theme/archive/1.2.3.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/focus-theme.json",
"dock_icon":{
"type":"circle",
"background_color":"#a464c2",
"foreground_color":"#ffffff",
"border_color":"#a464c2"
}
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.folders-component",
"name": "Folders",
"content_type": "SN|Component",
"area": "tags-list",
"version": "1.3.8",
"description": "Create nested folders from your tags with easy drag and drop. Folders also supports Smart Tags, which allow you to build custom filters for viewing your notes.",
"url": "https://__DOMAIN__PATH__/extensions/src/folders-component/index.html",
"download_url": "https://github.com/standardnotes/folders-component/archive/1.3.8.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/folders-component.json"
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.standardnotes.futura-theme",
"name": "Futura Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.2.2",
"description": "Calm and relaxed. Take some time off.",
"url": "https://__DOMAIN__PATH__/extensions/src/futura-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/futura-theme/archive/1.2.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/futura-theme.json",
"dock_icon":{
"type":"circle",
"background_color":"#fca429",
"foreground_color":"#ffffff",
"border_color":"#fca429"
}
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.github-push",
"name": "Github Push",
"content_type": "SN|Component",
"area": "editor-stack",
"version": "1.2.4",
"description": "Push note changes to a public or private GitHub repository, with options for file extension and commit message.",
"url": "https://__DOMAIN__PATH__/extensions/src/github-push/index.html",
"download_url": "https://github.com/sn-extensions/github-push/archive/1.2.4.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/github-push.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.markdown-basic-editor",
"name": "Markdown Basic",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.4.0",
"description": "A Markdown editor with dynamic split-pane preview.",
"url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic/dist/index.html",
"download_url": "https://github.com/standardnotes/markdown-basic/archive/1.4.0.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/markdown-basic.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.markdown-pro",
"name": "Markdown Pro",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.14",
"description": "A fully featured Markdown editor that supports live preview, a styling toolbar, and split pane support.",
"url": "https://__DOMAIN__PATH__/extensions/src/markdown-pro/dist/index.html",
"download_url": "https://github.com/standardnotes/markdown-pro/archive/1.3.14.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/markdown-pro.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.math-editor",
"name": "Math Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.4",
"description": "A beautiful split-pane Markdown editor with synced-scroll, LaTeX support, and colorful syntax.",
"url": "https://__DOMAIN__PATH__/extensions/src/math-editor/index.html",
"download_url": "https://github.com/sn-extensions/math-editor/archive/1.3.4.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/math-editor.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.mfa-link",
"name": "MFA-Link",
"content_type": "SN|Component",
"area": "editor-stack",
"version": "1.2.5",
"description": "Set up 2FA to enable an extra layer of security on your private notes account.",
"url": "https://__DOMAIN__PATH__/extensions/src/mfa-link/dist/index.html",
"download_url": "https://github.com/sn-extensions/mfa-link/archive/1.2.5.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/mfa-link.json"
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.standardnotes.midnight-theme",
"name": "Midnight Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.2.2",
"description": "Elegant utilitarianism.",
"url": "https://__DOMAIN__PATH__/extensions/src/midnight-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/midnight-theme/archive/1.2.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/midnight-theme.json",
"dock_icon":{
"type":"circle",
"background_color":"#086DD6",
"foreground_color":"#ffffff",
"border_color":"#086DD6"
}
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.minimal-markdown-editor",
"name": "Minimal Markdown Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.7",
"description": "A minimal Markdown editor with inline style support.",
"url": "https://__DOMAIN__PATH__/extensions/src/minimal-markdown-editor/index.html",
"download_url": "https://github.com/sn-extensions/minimal-markdown-editor/archive/1.3.7.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/minimal-markdown-editor.json"
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.standardnotes.no-distraction",
"name": "No Distraction Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.2.2",
"description": "A distraction-free writing environment for high levels of clarity and focus.",
"url": "https://__DOMAIN__PATH__/extensions/src/no-distraction-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/no-distraction-theme/archive/1.2.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/no-distraction-theme.json",
"layerable":true,
"no_mobile":true,
"dock_icon":{
"type":"svg",
"source":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><path d=\"M424 64H88c-26.6 0-48 21.6-48 48v288c0 26.4 21.4 48 48 48h336c26.4 0 48-21.6 48-48V112c0-26.4-21.4-48-48-48zm0 336H88V176h336v224z\"/></svg>"
}
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.plus-editor",
"name": "Plus Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.5.0",
"description": "From highlighting to custom font sizes and colors, to tables and lists, this editor is perfect for crafting any document. (Converts your note to an HTML format.)",
"url": "https://__DOMAIN__PATH__/extensions/src/plus-editor/dist/index.html",
"download_url": "https://github.com/standardnotes/plus-editor/archive/1.5.0.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/plus-editor.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.quick-tags",
"name": "Quick Tags",
"content_type": "SN|Component",
"area": "note-tags",
"version": "1.3.2",
"description": "Work more efficiently by quickly selecting from a live list of tags while you type. Supports keyboard shortcuts and folders.",
"url": "https://__DOMAIN__PATH__/extensions/src/quick-tags/index.html",
"download_url": "https://github.com/standardnotes/quick-tags/archive/1.3.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/quick-tags.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.standardnotes.simple-task-editor",
"name": "Task Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.7",
"description": "A great way to manage short-term and long-term to-do's. You can mark simple-tasks as completed, change their order, and edit the text naturally in place.",
"url": "https://__DOMAIN__PATH__/extensions/src/simple-task-editor/dist/index.html",
"download_url": "https://github.com/sn-extensions/simple-task-editor/archive/1.3.7.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/simple-task-editor.json"
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.stndardnotes.solarized-dark-theme",
"name": "Solarized Dark Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.2.1",
"description": "The perfect theme for any time.",
"url": "https://__DOMAIN__PATH__/extensions/src/solarized-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/solarized-dark-theme/archive/1.2.1.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/solarized-dark-theme.json",
"dock_icon":{
"type":"circle",
"background_color":"#2AA198",
"foreground_color":"#ffffff",
"border_color":"#2AA198"
}
}

View file

@ -1,17 +0,0 @@
{
"identifier": "org.stndardnotes.titanium-theme",
"name": "Titanium Theme",
"content_type": "SN|Theme",
"area": "theme",
"version": "1.2.2",
"description": "Light on the eyes, heavy on the spirit.",
"url": "https://__DOMAIN__PATH__/extensions/src/titanium-theme/dist/dist.css",
"download_url": "https://github.com/sn-extensions/titanium-theme/archive/1.2.2.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/titanium-theme.json",
"dock_icon":{
"type":"circle",
"background_color":"#6e2b9e",
"foreground_color":"#ffffff",
"border_color":"#6e2b9e"
}
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.token-vault",
"name": "Token Vault",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.0.10",
"description": "Use Standard Notes on both desktop and mobile as your authenticator app. TokenVault handles your 2FA secrets so that you never lose them again, or have to start over when you get a new device.",
"url": "https://__DOMAIN__PATH__/extensions/src/token-vault/dist/index.html",
"download_url": "https://github.com/sn-extensions/token-vault/archive/1.0.10.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/token-vault.json"
}

View file

@ -1,11 +0,0 @@
{
"identifier": "org.stndardnotes.vim-editor",
"name": "Vim Editor",
"content_type": "SN|Component",
"area": "editor-editor",
"version": "1.3.7",
"description": "A code editor with Vim key bindings.",
"url": "https://__DOMAIN__PATH__/extensions/src/vim-editor/index.html",
"download_url": "https://github.com/sn-extensions/vim-editor/archive/1.3.7.zip",
"latest_url": "https://__DOMAIN__PATH__/extensions/src/vim-editor.json"
}

View file

@ -1,82 +0,0 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> Standard Notes - Syncing Server </title>
<style>
body {
padding-top: 15px;
text-align: center;
font-family: sans-serif;
min-width: 985px;
}
p, ol {
margin-right: auto;
margin-left: auto;
font-size: x-large;
}
div {
width: 940px;
margin-right: auto;
margin-left: auto;
text-align: left;
}
a {
cursor: pointer;
color: #086dd6;
box-sizing: border-box;
text-decoration: none;
}
ul {
list-style-type: disc;
}
</style>
</head>
<body>
<h1>Standard Notes - Syncing Server</h1>
<p>Add <strong>https://__DOMAIN____PATH__/</strong> as Sync Server Domain in the Advanced Options to use this Syncing Server.</p>
<div>
<p>
<strong>You should know:</strong>
</p>
<ol>
<li>
Your notes are fully encrypted on your device before they're ever sent to our servers.<br>
This means even we can't read the contents of your notes.
</li>
<li>
Standard Notes is available on all your devices.
<ul>
<li><a href="https://itunes.apple.com/us/app/standard-notes/id1285392450?mt=8" target="_blank" rel="noreferrer">iOS</a></li>
<li><a href="https://play.google.com/store/apps/details?id=com.standardnotes" target="_blank" rel="noreferrer">Android</a></li>
<li><a href="https://app.standardnotes.org" target="_blank" rel="noreferrer">Web App</a></li>
<li><a href="https://standardnotes.org/download/mac" target="_blank" rel="noreferrer">Mac</a></li>
<li><a href="https://standardnotes.org/download/windows" target="_blank" rel="noreferrer">Windows</a></li>
<li><a href="https://standardnotes.org/download/linux" target="_blank" rel="noreferrer">Linux</a>.</li>
</ul>
</li>
</ol>
<p>
<strong>Install instructions for Extensions:</strong>
</p>
<ol>
<li>
Open the Standard Notes web or Desktop app
</li>
<li>
Press <strong>Extensions</strong> in the button left corner
</li>
<li>
Enter <strong>https://__DOMAIN____PATH__/extensions/repo.json</strong> in the textbox.
</li>
<li>
Press the <strong>Submit Code</strong> button.
</li>
<li>
Now you can see Editors, Themes and Components which you can install
</li>
</ol>
</div>
</body>
</html>