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:
parent
2a0f413937
commit
74aee8b733
56 changed files with 19 additions and 1153 deletions
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -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
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
||||||
|
|
110
scripts/upgrade
110
scripts/upgrade
|
@ -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
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -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 " " "\ \ " mail_to_send
|
|
||||||
ynh_replace_string "\t" "\ \ " 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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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>"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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"
|
|
||||||
}
|
|
|
@ -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>
|
|
||||||
|
|
Loading…
Reference in a new issue