diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..697ebdc --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +.git +doc +app-cc-home-clone.zip +app-cc-home +github.css +LICENSE +profile.json +README_ja.md +README.md \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d6e85e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +dst \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..80bc7c7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,11 @@ +FROM nginx:1.21 + +COPY build.sh /docker-entrypoint.d/30-render-template.sh +RUN chmod +x /docker-entrypoint.d/30-render-template.sh && \ + mkdir -p /opt/src/app-cc-home && mkdir -p /opt/dst/app-cc-home + +WORKDIR /opt/src/app-cc-home +ENV BUILD_DIR /opt +ADD src . + +COPY nginx-app-cc-home.conf /etc/nginx/conf.d/default.conf diff --git a/README.md b/README.md index b0939b6..0bc014f 100644 --- a/README.md +++ b/README.md @@ -41,3 +41,72 @@ If you want to deploy your own HomeApp which supports Google Login, make sure yo 1. Click "Google". 1. Enter email address. 1. Click "Register". + + +# Using nginx to serve + +To serve home app with nginx, you can use build script to prepare stuff. + +```bash +CELL_NAME=app-cc-home UNIT_FQDN=demo.personium.io bash ./build.sh 3> build.log +``` + +And then, you can use built stuff in `dst` folder to serve home app. + +To serve `dst` folder with nginx, you have to create a nginx configuration file on `/etc/nginx/sites-available/`. Examples are shown below. + +```bash +sudo vim /etc/nginx/sites-available/app-cc-home.conf +``` + +```conf +server { + listen 80 default_server; + + location /__/ { + add_header Access-Control-Allow-Origin '*' always; + alias /opt/dst/app-cc-home/; # change path to your dst folder + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} +``` + +To enable serving, you can do with below command. + +```bash +sudo ln -s /etc/nginx/sites-available/app-cc-home.conf /etc/nginx/sites-enabled/ +``` + +And then, restart nginx to apply configuration. + +```bash +sudo systemctl restart nginx +``` + +## build variables + +You can specify below environment variables to configure builds. + +|env|description|example| +|:--|:--|:--| +|CELL_NAME|Specify home app cell name. If `HOME_APP_CELL_URL` is not specified, this varible is used instead. |`app-cc-home`| +|UNIT_FQDN|Specify unit FQDN which home app is deployed. If `HOME_APP_CELL_URL` is not specified, this variable is used instead.|`pds.example.com`| +|HOME_APP_CELL_URL|Specify home app cell url ending with `/`.|`https://app-cc-home.pds.example.com/`| +|MARKETLIST_ENDPOINT|Specify market list (OData) endpoint url.|`https://market.pds.example.com/OData/applist/Apps`| +|APPDIRECTORY_ENDPOINT|Specify app directory (OData) endpoint url.|`https://directory.pds.example.com/app-uc-directory/OData/directory`| + + +# Using docker to serve + +You can serve your home app with docker. To use docker to serve, you can use below command. + +```bash +docker build . -t app-cc-home +docker run -d -e HOME_APP_CELL_URL= app-cc-home +``` + +To customize launch configuration, you can specify above build variables. diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..f1f1c06 --- /dev/null +++ b/build.sh @@ -0,0 +1,36 @@ +#!/bin/sh + +set -e + +ME=$(basename $0) + +render_template() { + local current_dir="$(pwd)" + local template_dir="${BUILD_DIR:-$current_dir}/src" + local suffix="" + local output_dir="${BUILD_DIR:-$current_dir}/dst" + + mkdir -p $output_dir + + local template defined_envs relative_path output_path subdir + defined_envs=$(printf '${%s} ' $(env | cut -d= -f1)) + [ -d "$template_dir" ] || return 0 + if [ ! -w "$output_dir" ]; then + echo >&3 "$ME: ERROR: $template_dir exists, but $output_dir is not writable" + return 0 + fi + + for f in $(find $template_dir -type f); do + relative_path="${f#$template_dir/}" + output_path="$output_dir/${relative_path}" + subdir=$(dirname "$relative_path") + # create a subdirectory where the template file exists + mkdir -p "$output_dir/$subdir" + echo >&3 "$ME: Running envsubst on $f to $output_path" + envsubst "$defined_envs" < $f > "$output_path"; + done +} + +render_template + +exit 0 \ No newline at end of file diff --git a/html/img/Thumbs.db b/html/img/Thumbs.db deleted file mode 100644 index 53ca0eb..0000000 Binary files a/html/img/Thumbs.db and /dev/null differ diff --git a/html/img/clean.JPG b/html/img/clean.JPG deleted file mode 100644 index 6737eb4..0000000 Binary files a/html/img/clean.JPG and /dev/null differ diff --git a/nginx-app-cc-home.conf b/nginx-app-cc-home.conf new file mode 100644 index 0000000..77efcc6 --- /dev/null +++ b/nginx-app-cc-home.conf @@ -0,0 +1,13 @@ +server { + listen 80 default_server; + + location /__/ { + add_header Access-Control-Allow-Origin '*' always; + alias /opt/dst/app-cc-home/; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } +} diff --git a/authform/authform_new.html b/src/authform/authform_new.html similarity index 94% rename from authform/authform_new.html rename to src/authform/authform_new.html index 80b8e49..7ab96c3 100644 --- a/authform/authform_new.html +++ b/src/authform/authform_new.html @@ -20,8 +20,8 @@ - - + + @@ -29,7 +29,7 @@ - + OAuth2 authorization endpoint diff --git a/authform/authform_new_server_edition.html b/src/authform/authform_new_server_edition.html similarity index 93% rename from authform/authform_new_server_edition.html rename to src/authform/authform_new_server_edition.html index 474ee59..23bc10e 100644 --- a/authform/authform_new_server_edition.html +++ b/src/authform/authform_new_server_edition.html @@ -19,8 +19,8 @@ - - + + diff --git a/authform/locales/en/translation.json b/src/authform/locales/en/translation.json similarity index 100% rename from authform/locales/en/translation.json rename to src/authform/locales/en/translation.json diff --git a/authform/locales/ja/translation.json b/src/authform/locales/ja/translation.json similarity index 100% rename from authform/locales/ja/translation.json rename to src/authform/locales/ja/translation.json diff --git a/authform/login.css b/src/authform/login.css similarity index 100% rename from authform/login.css rename to src/authform/login.css diff --git a/authform/personium.css b/src/authform/personium.css similarity index 100% rename from authform/personium.css rename to src/authform/personium.css diff --git a/authform/sample.js b/src/authform/sample.js similarity index 52% rename from authform/sample.js rename to src/authform/sample.js index 9c3a6bf..efc9360 100644 --- a/authform/sample.js +++ b/src/authform/sample.js @@ -1,21 +1,25 @@ -$(document).ready(function(){ +$(document).ready(function () { i18next .use(i18nextXHRBackend) .use(i18nextBrowserLanguageDetector) - .init({ - fallbackLng: 'en', - ns: ['translation'], - defaultNS: 'translation', + .init( + { + fallbackLng: "en", + ns: ["translation"], + defaultNS: "translation", debug: true, backend: { - loadPath: 'https://app-cc-home.demo.personium.io/__/authform/locales/{{lng}}/{{ns}}.json' - ,crossDomain: true - } - }, function(err, t) { + loadPath: + "${HOME_APP_CELL_URL}__/authform/locales/{{lng}}/{{ns}}.json", + crossDomain: true, + }, + }, + function (err, t) { initJqueryI18next(); init(); updateContent(); - }); + } + ); }); function init() { @@ -23,9 +27,9 @@ function init() { let pos = location.href.substring(0, 42); let action = location.href.substring(0, pos); - $("#form").attr('action', action); + $("#form").attr("action", action); - let searchParams = new URLSearchParams(location.search) + let searchParams = new URLSearchParams(location.search); if (searchParams.get("response_type")) { $("#response_type").val(searchParams.get("response_type")); } else { @@ -100,78 +104,79 @@ function init() { */ let userCellUrl = action.replace("__authz", ""); - requestFile("GET", $("#client_id").val() + "__/profile.json", userCellUrl + "__/profile.json" ,true ) + requestFile( + "GET", + $("#client_id").val() + "__/profile.json", + userCellUrl + "__/profile.json", + true + ); - $('select[name="language"]').change(function() { + $('select[name="language"]').change(function () { var lng = $(this).val(); - i18next.changeLanguage(lng, function (err, t){ - updateContent(); + i18next.changeLanguage(lng, function (err, t) { + updateContent(); }); }); } function initJqueryI18next() { - jqueryI18next.init(i18next, $, { - useOptionsAttr: true + jqueryI18next.init(i18next, $, { + useOptionsAttr: true, }); } function updateContent() { - $('[data-i18n]').localize(); + $("[data-i18n]").localize(); } // Generate XMLHttpRequest object -function createHttpRequest(){ - +function createHttpRequest() { // For Win ie - if(window.ActiveXObject){ + if (window.ActiveXObject) { + try { + // For MSXML 2 or later + return new ActiveXObject("Msxml2.XMLHTTP"); + } catch (e) { try { - // For MSXML 2 or later - return new ActiveXObject("Msxml2.XMLHTTP"); - } catch (e) { - try { - // For old MSXML - return new ActiveXObject("Microsoft.XMLHTTP"); - } catch (e2) { - return null; - } - } - } else if(window.XMLHttpRequest){ - // For XMLHttpRequest object implementing browser other than Win ie for browser - return new XMLHttpRequest(); + // For old MSXML + return new ActiveXObject("Microsoft.XMLHTTP"); + } catch (e2) { + return null; + } + } + } else if (window.XMLHttpRequest) { + // For XMLHttpRequest object implementing browser other than Win ie for browser + return new XMLHttpRequest(); } else { - return null; + return null; } } // Access the file and confirm the received contents -function requestFile(method , appFileName , dataFileName , async ) -{ +function requestFile(method, appFileName, dataFileName, async) { // Generate XMLHttpRequest object var apphttpoj = createHttpRequest(); var datahttpoj = createHttpRequest(); // open method - apphttpoj.open( method , appFileName , async ); - datahttpoj.open( method , dataFileName , async ); + apphttpoj.open(method, appFileName, async); + datahttpoj.open(method, dataFileName, async); // Events to be activated upon reception - apphttpoj.onreadystatechange = function() { - + apphttpoj.onreadystatechange = function () { // ReadyState value is 4 and reception is completed - if (apphttpoj.readyState==4) { + if (apphttpoj.readyState == 4) { // Callback app_on_loaded(apphttpoj); } }; - datahttpoj.onreadystatechange = function() { - - // ReadyState value is 4 and reception is completed - if (datahttpoj.readyState==4) { - // Callback - data_on_loaded(datahttpoj); - } - }; + datahttpoj.onreadystatechange = function () { + // ReadyState value is 4 and reception is completed + if (datahttpoj.readyState == 4) { + // Callback + data_on_loaded(datahttpoj); + } + }; // send method apphttpoj.send(null); @@ -179,40 +184,38 @@ function requestFile(method , appFileName , dataFileName , async ) } // Callback function (executed on reception) -function app_on_loaded(oj) -{ - // Acquire response - var res = oj.responseText; - - var data= JSON.parse(res || "null"); - // View on page - if (data.DisplayName || data.Description) { - document.getElementById("logo").src = data.Image; - document.getElementById("appName").textContent = data.DisplayName; - } else { - document.getElementById("logo").src = "https://app-cc-home.demo.personium.io/__/authform/img/warning.svg"; - $("#appName").attr("data-i18n", "unknownApplication").localize(); - $("#appName").css("color", "red"); - $("#warningMessage").show(); - } - document.getElementById("description").textContent = data.Description; +function app_on_loaded(oj) { + // Acquire response + var res = oj.responseText; + + var data = JSON.parse(res || "null"); + // View on page + if (data.DisplayName || data.Description) { + document.getElementById("logo").src = data.Image; + document.getElementById("appName").textContent = data.DisplayName; + } else { + document.getElementById("logo").src = + "${HOME_APP_CELL_URL}__/authform/img/warning.svg"; + $("#appName").attr("data-i18n", "unknownApplication").localize(); + $("#appName").css("color", "red"); + $("#warningMessage").show(); + } + document.getElementById("description").textContent = data.Description; } // Callback function (executed on reception) -function data_on_loaded(oj) -{ - // Acquire response - var res = oj.responseText; - - var data= JSON.parse(res || "null"); - // View on page - document.getElementById("userimg").src = data.Image; - document.getElementById("dataUserName").textContent = data.DisplayName; +function data_on_loaded(oj) { + // Acquire response + var res = oj.responseText; + + var data = JSON.parse(res || "null"); + // View on page + document.getElementById("userimg").src = data.Image; + document.getElementById("dataUserName").textContent = data.DisplayName; } // Cancel button function onCancel() { - document.getElementById("cancel_flg").value = "1"; - document.form.submit(); + document.getElementById("cancel_flg").value = "1"; + document.form.submit(); } - diff --git a/html/account.html b/src/html/account.html similarity index 100% rename from html/account.html rename to src/html/account.html diff --git a/html/account_info.html b/src/html/account_info.html similarity index 100% rename from html/account_info.html rename to src/html/account_info.html diff --git a/html/account_link_role.html b/src/html/account_link_role.html similarity index 100% rename from html/account_link_role.html rename to src/html/account_link_role.html diff --git a/html/account_link_role_list.html b/src/html/account_link_role_list.html similarity index 100% rename from html/account_link_role_list.html rename to src/html/account_link_role_list.html diff --git a/html/application_management.html b/src/html/application_management.html similarity index 100% rename from html/application_management.html rename to src/html/application_management.html diff --git a/html/applicationmarket.html b/src/html/applicationmarket.html similarity index 100% rename from html/applicationmarket.html rename to src/html/applicationmarket.html diff --git a/html/arrow_from_role.html b/src/html/arrow_from_role.html similarity index 100% rename from html/arrow_from_role.html rename to src/html/arrow_from_role.html diff --git a/html/arrow_to_role.html b/src/html/arrow_to_role.html similarity index 100% rename from html/arrow_to_role.html rename to src/html/arrow_to_role.html diff --git a/html/change_language.html b/src/html/change_language.html similarity index 100% rename from html/change_language.html rename to src/html/change_language.html diff --git a/html/change_password.html b/src/html/change_password.html similarity index 100% rename from html/change_password.html rename to src/html/change_password.html diff --git a/html/create_message.html b/src/html/create_message.html similarity index 100% rename from html/create_message.html rename to src/html/create_message.html diff --git a/html/css/application_mgr.css b/src/html/css/application_mgr.css similarity index 96% rename from html/css/application_mgr.css rename to src/html/css/application_mgr.css index 77f60d1..c4fcbd4 100644 --- a/html/css/application_mgr.css +++ b/src/html/css/application_mgr.css @@ -140,7 +140,7 @@ section:last-of-type { align-items: center; padding: 16px 20px; padding-right: 32px; - background-image: url(https://demo.personium.io/app-cc-home/__/html/img/parts_list.png); + background-image: url(${HOME_APP_CELL_URL}__/html/img/parts_list.png); background-position: center right; background-size: 20px 14px; background-repeat: no-repeat; diff --git a/html/css/applicationmarket.css b/src/html/css/applicationmarket.css similarity index 100% rename from html/css/applicationmarket.css rename to src/html/css/applicationmarket.css diff --git a/html/css/bootstrap-switch/bootstrap-switch.min.css b/src/html/css/bootstrap-switch/bootstrap-switch.min.css similarity index 100% rename from html/css/bootstrap-switch/bootstrap-switch.min.css rename to src/html/css/bootstrap-switch/bootstrap-switch.min.css diff --git a/html/css/common.css b/src/html/css/common.css similarity index 100% rename from html/css/common.css rename to src/html/css/common.css diff --git a/html/css/cropper/cropper.min.css b/src/html/css/cropper/cropper.min.css similarity index 100% rename from html/css/cropper/cropper.min.css rename to src/html/css/cropper/cropper.min.css diff --git a/html/css/cropper/cropper_circle_mask.css b/src/html/css/cropper/cropper_circle_mask.css similarity index 100% rename from html/css/cropper/cropper_circle_mask.css rename to src/html/css/cropper/cropper_circle_mask.css diff --git a/html/css/homeapp.css b/src/html/css/homeapp.css similarity index 100% rename from html/css/homeapp.css rename to src/html/css/homeapp.css diff --git a/html/css/login.css b/src/html/css/login.css similarity index 100% rename from html/css/login.css rename to src/html/css/login.css diff --git a/html/css/personium.css b/src/html/css/personium.css similarity index 100% rename from html/css/personium.css rename to src/html/css/personium.css diff --git a/html/css/settings.css b/src/html/css/settings.css similarity index 100% rename from html/css/settings.css rename to src/html/css/settings.css diff --git a/html/edit_account.html b/src/html/edit_account.html similarity index 100% rename from html/edit_account.html rename to src/html/edit_account.html diff --git a/html/extcell_link_role.html b/src/html/extcell_link_role.html similarity index 100% rename from html/extcell_link_role.html rename to src/html/extcell_link_role.html diff --git a/html/extcell_link_role_list.html b/src/html/extcell_link_role_list.html similarity index 100% rename from html/extcell_link_role_list.html rename to src/html/extcell_link_role_list.html diff --git a/html/homeapp_google_auth.html b/src/html/homeapp_google_auth.html similarity index 100% rename from html/homeapp_google_auth.html rename to src/html/homeapp_google_auth.html diff --git a/html/img/favicon.ico b/src/html/img/favicon.ico similarity index 100% rename from html/img/favicon.ico rename to src/html/img/favicon.ico diff --git a/html/img/ic_app_market.svg b/src/html/img/ic_app_market.svg similarity index 100% rename from html/img/ic_app_market.svg rename to src/html/img/ic_app_market.svg diff --git a/html/img/ic_healthdate.svg b/src/html/img/ic_healthdate.svg similarity index 100% rename from html/img/ic_healthdate.svg rename to src/html/img/ic_healthdate.svg diff --git a/html/img/ic_home_security.svg b/src/html/img/ic_home_security.svg similarity index 100% rename from html/img/ic_home_security.svg rename to src/html/img/ic_home_security.svg diff --git a/html/img/ic_links.svg b/src/html/img/ic_links.svg similarity index 100% rename from html/img/ic_links.svg rename to src/html/img/ic_links.svg diff --git a/html/img/ic_message.svg b/src/html/img/ic_message.svg similarity index 100% rename from html/img/ic_message.svg rename to src/html/img/ic_message.svg diff --git a/html/img/ic_new.svg b/src/html/img/ic_new.svg similarity index 100% rename from html/img/ic_new.svg rename to src/html/img/ic_new.svg diff --git a/html/img/ic_newmessage.svg b/src/html/img/ic_newmessage.svg similarity index 100% rename from html/img/ic_newmessage.svg rename to src/html/img/ic_newmessage.svg diff --git a/html/img/ic_nickname.svg b/src/html/img/ic_nickname.svg similarity index 100% rename from html/img/ic_nickname.svg rename to src/html/img/ic_nickname.svg diff --git a/html/img/ic_profile.svg b/src/html/img/ic_profile.svg similarity index 100% rename from html/img/ic_profile.svg rename to src/html/img/ic_profile.svg diff --git a/html/img/ic_profile_qrcode.png b/src/html/img/ic_profile_qrcode.png similarity index 100% rename from html/img/ic_profile_qrcode.png rename to src/html/img/ic_profile_qrcode.png diff --git a/html/img/ic_profile_qrcode.svg b/src/html/img/ic_profile_qrcode.svg similarity index 100% rename from html/img/ic_profile_qrcode.svg rename to src/html/img/ic_profile_qrcode.svg diff --git a/html/img/ic_qrcode.svg b/src/html/img/ic_qrcode.svg similarity index 100% rename from html/img/ic_qrcode.svg rename to src/html/img/ic_qrcode.svg diff --git a/html/img/ic_vital.svg b/src/html/img/ic_vital.svg similarity index 100% rename from html/img/ic_vital.svg rename to src/html/img/ic_vital.svg diff --git a/src/html/img/ico_error.png b/src/html/img/ico_error.png new file mode 100644 index 0000000..368468d Binary files /dev/null and b/src/html/img/ico_error.png differ diff --git a/html/img/ico_menu.png b/src/html/img/ico_menu.png similarity index 100% rename from html/img/ico_menu.png rename to src/html/img/ico_menu.png diff --git a/html/img/no_app_image.png b/src/html/img/no_app_image.png similarity index 100% rename from html/img/no_app_image.png rename to src/html/img/no_app_image.png diff --git a/html/img/parts_ico_google.png b/src/html/img/parts_ico_google.png similarity index 100% rename from html/img/parts_ico_google.png rename to src/html/img/parts_ico_google.png diff --git a/html/img/parts_ico_keyaki.png b/src/html/img/parts_ico_keyaki.png similarity index 100% rename from html/img/parts_ico_keyaki.png rename to src/html/img/parts_ico_keyaki.png diff --git a/html/img/parts_list.png b/src/html/img/parts_list.png similarity index 100% rename from html/img/parts_list.png rename to src/html/img/parts_list.png diff --git a/html/img/personium_header_bg.png b/src/html/img/personium_header_bg.png similarity index 100% rename from html/img/personium_header_bg.png rename to src/html/img/personium_header_bg.png diff --git a/html/img/poster.png b/src/html/img/poster.png similarity index 100% rename from html/img/poster.png rename to src/html/img/poster.png diff --git a/html/img/qrcode_dummy.png b/src/html/img/qrcode_dummy.png similarity index 100% rename from html/img/qrcode_dummy.png rename to src/html/img/qrcode_dummy.png diff --git a/html/img/role_default.png b/src/html/img/role_default.png similarity index 100% rename from html/img/role_default.png rename to src/html/img/role_default.png diff --git a/html/img/type_g.png b/src/html/img/type_g.png similarity index 100% rename from html/img/type_g.png rename to src/html/img/type_g.png diff --git a/html/img/type_p.png b/src/html/img/type_p.png similarity index 100% rename from html/img/type_p.png rename to src/html/img/type_p.png diff --git a/html/img/user-icon-01.png b/src/html/img/user-icon-01.png similarity index 100% rename from html/img/user-icon-01.png rename to src/html/img/user-icon-01.png diff --git a/html/img/user-icon-02.png b/src/html/img/user-icon-02.png similarity index 100% rename from html/img/user-icon-02.png rename to src/html/img/user-icon-02.png diff --git a/html/img/user-icon.png b/src/html/img/user-icon.png similarity index 100% rename from html/img/user-icon.png rename to src/html/img/user-icon.png diff --git a/html/incoming_message_list.html b/src/html/incoming_message_list.html similarity index 100% rename from html/incoming_message_list.html rename to src/html/incoming_message_list.html diff --git a/html/js/account.js b/src/html/js/account.js similarity index 100% rename from html/js/account.js rename to src/html/js/account.js diff --git a/html/js/account_info.js b/src/html/js/account_info.js similarity index 100% rename from html/js/account_info.js rename to src/html/js/account_info.js diff --git a/html/js/account_link_role.js b/src/html/js/account_link_role.js similarity index 100% rename from html/js/account_link_role.js rename to src/html/js/account_link_role.js diff --git a/html/js/account_link_role_list.js b/src/html/js/account_link_role_list.js similarity index 100% rename from html/js/account_link_role_list.js rename to src/html/js/account_link_role_list.js diff --git a/html/js/app_manage.js b/src/html/js/app_manage.js similarity index 100% rename from html/js/app_manage.js rename to src/html/js/app_manage.js diff --git a/html/js/applicationmarket.js b/src/html/js/applicationmarket.js similarity index 100% rename from html/js/applicationmarket.js rename to src/html/js/applicationmarket.js diff --git a/html/js/arrow_from_role.js b/src/html/js/arrow_from_role.js similarity index 100% rename from html/js/arrow_from_role.js rename to src/html/js/arrow_from_role.js diff --git a/html/js/arrow_to_role.js b/src/html/js/arrow_to_role.js similarity index 100% rename from html/js/arrow_to_role.js rename to src/html/js/arrow_to_role.js diff --git a/html/js/bootstrap-switch/bootstrap-switch.min.js b/src/html/js/bootstrap-switch/bootstrap-switch.min.js similarity index 100% rename from html/js/bootstrap-switch/bootstrap-switch.min.js rename to src/html/js/bootstrap-switch/bootstrap-switch.min.js diff --git a/html/js/change_language.js b/src/html/js/change_language.js similarity index 100% rename from html/js/change_language.js rename to src/html/js/change_language.js diff --git a/html/js/change_password.js b/src/html/js/change_password.js similarity index 100% rename from html/js/change_password.js rename to src/html/js/change_password.js diff --git a/html/js/common.js b/src/html/js/common.js similarity index 100% rename from html/js/common.js rename to src/html/js/common.js diff --git a/html/js/create_msg.js b/src/html/js/create_msg.js similarity index 100% rename from html/js/create_msg.js rename to src/html/js/create_msg.js diff --git a/html/js/edit_account.js b/src/html/js/edit_account.js similarity index 100% rename from html/js/edit_account.js rename to src/html/js/edit_account.js diff --git a/html/js/extcell_link_role.js b/src/html/js/extcell_link_role.js similarity index 100% rename from html/js/extcell_link_role.js rename to src/html/js/extcell_link_role.js diff --git a/html/js/extcell_link_role_list.js b/src/html/js/extcell_link_role_list.js similarity index 100% rename from html/js/extcell_link_role_list.js rename to src/html/js/extcell_link_role_list.js diff --git a/html/js/inc_msg_list.js b/src/html/js/inc_msg_list.js similarity index 100% rename from html/js/inc_msg_list.js rename to src/html/js/inc_msg_list.js diff --git a/html/js/links.js b/src/html/js/links.js similarity index 100% rename from html/js/links.js rename to src/html/js/links.js diff --git a/html/js/links_02.js b/src/html/js/links_02.js similarity index 100% rename from html/js/links_02.js rename to src/html/js/links_02.js diff --git a/html/js/load.i18n.js b/src/html/js/load.i18n.js similarity index 100% rename from html/js/load.i18n.js rename to src/html/js/load.i18n.js diff --git a/html/js/login.js b/src/html/js/login.js similarity index 100% rename from html/js/login.js rename to src/html/js/login.js diff --git a/html/js/main.js b/src/html/js/main.js similarity index 100% rename from html/js/main.js rename to src/html/js/main.js diff --git a/html/js/message.js b/src/html/js/message.js similarity index 100% rename from html/js/message.js rename to src/html/js/message.js diff --git a/html/js/msg_info.js b/src/html/js/msg_info.js similarity index 100% rename from html/js/msg_info.js rename to src/html/js/msg_info.js diff --git a/html/js/new_account.js b/src/html/js/new_account.js similarity index 100% rename from html/js/new_account.js rename to src/html/js/new_account.js diff --git a/html/js/new_links.js b/src/html/js/new_links.js similarity index 100% rename from html/js/new_links.js rename to src/html/js/new_links.js diff --git a/html/js/outg_msg_list.js b/src/html/js/outg_msg_list.js similarity index 100% rename from html/js/outg_msg_list.js rename to src/html/js/outg_msg_list.js diff --git a/html/js/personium.js b/src/html/js/personium.js similarity index 100% rename from html/js/personium.js rename to src/html/js/personium.js diff --git a/html/js/privacy_policy.js b/src/html/js/privacy_policy.js similarity index 100% rename from html/js/privacy_policy.js rename to src/html/js/privacy_policy.js diff --git a/html/js/profile.js b/src/html/js/profile.js similarity index 100% rename from html/js/profile.js rename to src/html/js/profile.js diff --git a/html/js/search_cell.js b/src/html/js/search_cell.js similarity index 100% rename from html/js/search_cell.js rename to src/html/js/search_cell.js diff --git a/html/js/select_accounttype.js b/src/html/js/select_accounttype.js similarity index 100% rename from html/js/select_accounttype.js rename to src/html/js/select_accounttype.js diff --git a/html/js/settings.js b/src/html/js/settings.js similarity index 100% rename from html/js/settings.js rename to src/html/js/settings.js diff --git a/html/js/utils.js b/src/html/js/utils.js similarity index 100% rename from html/js/utils.js rename to src/html/js/utils.js diff --git a/html/links.html b/src/html/links.html similarity index 100% rename from html/links.html rename to src/html/links.html diff --git a/html/links_02.html b/src/html/links_02.html similarity index 100% rename from html/links_02.html rename to src/html/links_02.html diff --git a/html/locales/en/message.json b/src/html/locales/en/message.json similarity index 100% rename from html/locales/en/message.json rename to src/html/locales/en/message.json diff --git a/html/locales/en/translation.json b/src/html/locales/en/translation.json similarity index 100% rename from html/locales/en/translation.json rename to src/html/locales/en/translation.json diff --git a/html/locales/ja/message.json b/src/html/locales/ja/message.json similarity index 100% rename from html/locales/ja/message.json rename to src/html/locales/ja/message.json diff --git a/html/locales/ja/translation.json b/src/html/locales/ja/translation.json similarity index 100% rename from html/locales/ja/translation.json rename to src/html/locales/ja/translation.json diff --git a/html/login.html b/src/html/login.html similarity index 74% rename from html/login.html rename to src/html/login.html index ac7577f..871b7c5 100644 --- a/html/login.html +++ b/src/html/login.html @@ -25,19 +25,30 @@

- + Error
+ diff --git a/html/main.html b/src/html/main.html similarity index 100% rename from html/main.html rename to src/html/main.html diff --git a/html/message.html b/src/html/message.html similarity index 100% rename from html/message.html rename to src/html/message.html diff --git a/html/message_info.html b/src/html/message_info.html similarity index 100% rename from html/message_info.html rename to src/html/message_info.html diff --git a/html/new_account.html b/src/html/new_account.html similarity index 100% rename from html/new_account.html rename to src/html/new_account.html diff --git a/html/new_links.html b/src/html/new_links.html similarity index 100% rename from html/new_links.html rename to src/html/new_links.html diff --git a/html/outgoing_message_list.html b/src/html/outgoing_message_list.html similarity index 100% rename from html/outgoing_message_list.html rename to src/html/outgoing_message_list.html diff --git a/html/privacy_policy.html b/src/html/privacy_policy.html similarity index 100% rename from html/privacy_policy.html rename to src/html/privacy_policy.html diff --git a/html/privacy_policy_en.md b/src/html/privacy_policy_en.md similarity index 100% rename from html/privacy_policy_en.md rename to src/html/privacy_policy_en.md diff --git a/html/privacy_policy_ja.md b/src/html/privacy_policy_ja.md similarity index 100% rename from html/privacy_policy_ja.md rename to src/html/privacy_policy_ja.md diff --git a/html/profile.html b/src/html/profile.html similarity index 100% rename from html/profile.html rename to src/html/profile.html diff --git a/html/search_cell.html b/src/html/search_cell.html similarity index 100% rename from html/search_cell.html rename to src/html/search_cell.html diff --git a/html/select_accounttype.html b/src/html/select_accounttype.html similarity index 100% rename from html/select_accounttype.html rename to src/html/select_accounttype.html diff --git a/index.html b/src/index.html similarity index 87% rename from index.html rename to src/index.html index bb08a33..4d7859f 100644 --- a/index.html +++ b/src/index.html @@ -5,7 +5,7 @@ Personium Cell - + @@ -38,30 +38,45 @@