diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..caf579f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,21 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = tab +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true +end_of_line = lf +trailing_comma = all +bracket_spacing = true +arrow_parens = always +prose_wrap = preserve + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..9b1c8b1 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +/dist diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..4531db1 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,19 @@ +{ + "$schema": "http://json.schemastore.org/prettierrc", + "printWidth": 120, + "tabWidth": 4, + "useTabs": true, + "semi": true, + "singleQuote": true, + "quoteProps": "as-needed", + "trailingComma": "all", + "bracketSpacing": true, + "bracketSameLine": false, + "arrowParens": "always", + "htmlWhitespaceSensitivity": "css", + "endOfLine": "lf", + "embeddedLanguageFormatting": "auto", + "insertPragma": false, + "requirePragma": false, + "proseWrap": "preserve" +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..8127494 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "liveServer.settings.port": 5585 +} diff --git a/404.html b/404.html index 801254b..4f07142 100644 --- a/404.html +++ b/404.html @@ -1,108 +1,103 @@ + + + + + Page Not Found - - - - - Page Not Found + + - #message h1, - #message h3, - #message p { - color: #fff; - } - - body { - border-top: 16px solid #039be5; - } - } - - - - -
-

404

-

Page Not Found - الصفحة غير موجودة

-

لم يتم العثور على الملف المحدد في هذا الموقع. يرجى التحقق من وجود أخطاء في URL وحاول مرة أخرى.

-
- -

- Return to Home - - - الرجوع إلى الصفحة الرئيسية -

-
-
- - - \ No newline at end of file + +
+

404

+

Page Not Found - الصفحة غير موجودة

+

+ لم يتم العثور على الملف المحدد في هذا الموقع. يرجى التحقق من وجود أخطاء في URL وحاول مرة أخرى. +

+
+ +

Return to Home - الرجوع إلى الصفحة الرئيسية

+
+
+ + diff --git a/README.md b/README.md index 90dfa7e..ec057f3 100644 --- a/README.md +++ b/README.md @@ -5,22 +5,19 @@
-| الخدمة | الرابط -| ---- | -------- -| تحويل الرسم العربي إلى الرسم القديم (إزالة النقط والحروف) | https://seen-arabic.github.io/Arabic-Services/old-arabic/ -| تحويل الحرف إلى كلمة | https://seen-arabic.github.io/Arabic-Services/letter-to-word/ - +| الخدمة | الرابط | +| --------------------------------------------------------- | ------------------------------------------------------------- | +| تحويل الرسم العربي إلى الرسم القديم (إزالة النقط والحروف) | https://seen-arabic.github.io/Arabic-Services/old-arabic/ | +| تحويل الحرف إلى كلمة | https://seen-arabic.github.io/Arabic-Services/letter-to-word/ |

-

HITS

- ------------ +---
سبحَانَكَ اللَّهُمَّ وَبِحَمْدِكَ، أَشْهَدُ أَنْ لا إِلهَ إِلأَ انْتَ أَسْتَغْفِرُكَ وَأَتْوبُ إِلَيْكَ
diff --git a/assets/css/home.css b/assets/css/home.css index c2acf15..502d6e8 100644 --- a/assets/css/home.css +++ b/assets/css/home.css @@ -1,75 +1,75 @@ * { - box-sizing: border-box; + box-sizing: border-box; } html { - scroll-behavior: smooth; - position: relative; - min-height: 100%; + scroll-behavior: smooth; + position: relative; + min-height: 100%; } -h2{ - margin: 0; - padding: 0; +h2 { + margin: 0; + padding: 0; } body { - margin: 0; - padding: 0; - background-color: #33485d; + margin: 0; + padding: 0; + background-color: #33485d; } .white-box { - color: #33485d; - width: 70%; - margin-top: 20px; - margin-bottom: 20px; - background-color: #fff; - padding: 20px; - border-radius: 20px; - box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); + color: #33485d; + width: 70%; + margin-top: 20px; + margin-bottom: 20px; + background-color: #fff; + padding: 20px; + border-radius: 20px; + box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); - display: flex; - flex-direction: column; - align-items: center; + display: flex; + flex-direction: column; + align-items: center; } .white-box:hover { - background-color: #ededed; + background-color: #ededed; } .white-box i { - margin-bottom: 25px; - font-size: 30px; + margin-bottom: 25px; + font-size: 30px; } main { - padding-top: 20px; - display: flex; - flex-direction: column; - align-items: center; - height: 100vh; + padding-top: 20px; + display: flex; + flex-direction: column; + align-items: center; + height: 100vh; } .logo { - max-width: 100px; - max-height: auto; + max-width: 100px; + max-height: auto; } a { - text-decoration: none; - cursor: pointer; - text-align: center; + text-decoration: none; + cursor: pointer; + text-align: center; } .content { - flex-grow: 1; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; + flex-grow: 1; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } -.visitors{ - margin-bottom: 20px; +.visitors { + margin-bottom: 20px; } diff --git a/assets/css/main.css b/assets/css/main.css index 6d766fa..4f1615a 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -1,255 +1,255 @@ -@import url("https://fonts.googleapis.com/earlyaccess/droidarabickufi.css?display=swap"); +@import url('https://fonts.googleapis.com/earlyaccess/droidarabickufi.css?display=swap'); * { - box-sizing: border-box; - font-family: "Droid Arabic Kufi"; - /* transition: all ease 0.5s; */ + box-sizing: border-box; + font-family: 'Droid Arabic Kufi'; + /* transition: all ease 0.5s; */ } html { - scroll-behavior: smooth; - position: relative; - min-height: 100%; + scroll-behavior: smooth; + position: relative; + min-height: 100%; } :root { - --bg-color: #f5f7fe; - --dark: #33485d; + --bg-color: #f5f7fe; + --dark: #33485d; } body { - margin: 0; - padding: 0; - background-color: var(--bg-color); + margin: 0; + padding: 0; + background-color: var(--bg-color); } nav { - background-color: var(--dark); - padding-right: 10px; - padding-left: 10px; - padding-top: 5px; - display: flex; - flex-direction: row; - justify-content: space-between; - align-items: center; - box-shadow: 1px 2px 3px #ccc; + background-color: var(--dark); + padding-right: 10px; + padding-left: 10px; + padding-top: 5px; + display: flex; + flex-direction: row; + justify-content: space-between; + align-items: center; + box-shadow: 1px 2px 3px #ccc; } nav a { - color: #fff; - text-decoration: none; - cursor: pointer; + color: #fff; + text-decoration: none; + cursor: pointer; } nav .logo { - max-width: 50px; - max-height: auto; + max-width: 50px; + max-height: auto; } h1 { - text-align: center; - margin-top: 0px; - margin-bottom: 0px; + text-align: center; + margin-top: 0px; + margin-bottom: 0px; } main { - padding: 20px; - width: 100%; - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - margin-bottom: 220px; + padding: 20px; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + margin-bottom: 220px; } .illustration { - font-size: 0.6em; + font-size: 0.6em; } .out-box-show { - width: 100%; - display: flex; - flex-direction: column; - align-items: center; + width: 100%; + display: flex; + flex-direction: column; + align-items: center; } .out-box-hide { - display: none; + display: none; } .like-us { - padding-top: 20px; + padding-top: 20px; } .like-us a { - color: inherit; - text-decoration: none; - cursor: pointer; + color: inherit; + text-decoration: none; + cursor: pointer; } .choicesbox > div > label { - text-align: center; + text-align: center; } -input[type="checkbox"], +input[type='checkbox'], .choicesbox > div > label { - cursor: pointer; + cursor: pointer; } textarea { - width: 100%; - resize: vertical; - /* height: 150px; */ - padding: 12px 20px; - box-sizing: border-box; - border: 1px solid #ccc; - border: 0px solid #ccc; - border-bottom-width: 1px; - border-radius: 10px 10px 0px 0px; - /* background-color: #f8f8f8; */ - background-color: #fff; - font-size: 16px; + width: 100%; + resize: vertical; + /* height: 150px; */ + padding: 12px 20px; + box-sizing: border-box; + border: 1px solid #ccc; + border: 0px solid #ccc; + border-bottom-width: 1px; + border-radius: 10px 10px 0px 0px; + /* background-color: #f8f8f8; */ + background-color: #fff; + font-size: 16px; } textarea:focus { - outline: none; + outline: none; } .textarea-box { - width: 100%; - margin: 20px 0px; + width: 100%; + margin: 20px 0px; } #output_str { - border-radius: 10px; - box-shadow: 1px 2px 3px #ccc; + border-radius: 10px; + box-shadow: 1px 2px 3px #ccc; } .shadow { - border-radius: 10px; - box-shadow: 1px 2px 3px #ccc; + border-radius: 10px; + box-shadow: 1px 2px 3px #ccc; } .choicesbox { - background-color: #fff; - width: 100%; - display: flex; - padding: 10px; - margin-top: -10px; - align-items: center; - justify-content: space-around; - /* border: 1px solid #ccc; */ - border-radius: 0px 0px 10px 10px; + background-color: #fff; + width: 100%; + display: flex; + padding: 10px; + margin-top: -10px; + align-items: center; + justify-content: space-around; + /* border: 1px solid #ccc; */ + border-radius: 0px 0px 10px 10px; } button { - background-color: #4caf50; - color: white; - padding: 12px 30px; - border: none; - border-radius: 4px; - cursor: pointer; - float: right; - text-align: center; - font-size: 1em; - min-width: 165px; - transition: all ease 0.3s; + background-color: #4caf50; + color: white; + padding: 12px 30px; + border: none; + border-radius: 4px; + cursor: pointer; + float: right; + text-align: center; + font-size: 1em; + min-width: 165px; + transition: all ease 0.3s; } button i { - margin-right: 15px; + margin-right: 15px; } button:hover { - background-color: green; + background-color: green; } .blue-btn { - background-color: #418bca; + background-color: #418bca; } .blue-btn:hover { - background-color: #0069d9; + background-color: #0069d9; } .output_str { - direction: rtl; + direction: rtl; } .action_btn { - direction: rtl; - display: flex; - flex-direction: row; - align-items: stretch; - justify-content: space-between; + direction: rtl; + display: flex; + flex-direction: row; + align-items: stretch; + justify-content: space-between; } .action_btn button { - text-align: center; - margin: 0px 10px; + text-align: center; + margin: 0px 10px; } footer { - background-color: #33485d; - color: #fff; - padding: 10px; - text-align: center; - position: absolute; - bottom: 0; - left: 0; - right: 0; - display: flex; - flex-direction: row; - align-items: center; - justify-content: space-between; + background-color: #33485d; + color: #fff; + padding: 10px; + text-align: center; + position: absolute; + bottom: 0; + left: 0; + right: 0; + display: flex; + flex-direction: row; + align-items: center; + justify-content: space-between; } footer a { - color: inherit; - text-decoration: none; - cursor: pointer; + color: inherit; + text-decoration: none; + cursor: pointer; } footer p { - margin: 0px 0px 10px 0px; + margin: 0px 0px 10px 0px; } footer .logo { - max-width: 100px; - max-height: auto; + max-width: 100px; + max-height: auto; } footer h2 { - margin: 0px; - margin-bottom: 10px; - font-size: 1.1em; + margin: 0px; + margin-bottom: 10px; + font-size: 1.1em; } footer div { - padding-top: 10px; + padding-top: 10px; } .social-links { - padding: 0px; - display: flex; - flex-direction: column; - gap: 5px; + padding: 0px; + display: flex; + flex-direction: column; + gap: 5px; } @media screen and (max-width: 640px) { - main { - margin-bottom: 380px; - } - .home-page-text{ - display: none; - } - footer { - flex-direction: column; - align-items: center; - } - .choicesbox { - flex-direction: column; - align-items: flex-start; - } + main { + margin-bottom: 380px; + } + .home-page-text { + display: none; + } + footer { + flex-direction: column; + align-items: center; + } + .choicesbox { + flex-direction: column; + align-items: flex-start; + } } @media screen and (max-width: 374px) { - main { - margin-bottom: 400px; - } + main { + margin-bottom: 400px; + } } diff --git a/assets/js/letterToWord.js b/assets/js/letterToWord.js index 7b5165d..1cc6484 100644 --- a/assets/js/letterToWord.js +++ b/assets/js/letterToWord.js @@ -1,38 +1,38 @@ -const input_str = document.getElementById("input_str"); -const output_str = document.getElementById("output_str"); +const input_str = document.getElementById('input_str'); +const output_str = document.getElementById('output_str'); function copy_to_clipboard() { - if (output_str.value == "") { - return; - } - /* Select the text field */ - output_str.select(); - output_str.setSelectionRange(0, 99999); /* For mobile devices */ + if (output_str.value == '') { + return; + } + /* Select the text field */ + output_str.select(); + output_str.setSelectionRange(0, 99999); /* For mobile devices */ - /* Copy the text inside the text field */ - document.execCommand("copy"); + /* Copy the text inside the text field */ + document.execCommand('copy'); - /* Alert the copied text */ - document.getElementById("saved").innerHTML = "تم النسخ"; + /* Alert the copied text */ + document.getElementById('saved').innerHTML = 'تم النسخ'; } document.onkeyup = convertAuto; function convertAuto() { - let symbol = "*"; - let value = input_str.value.split(symbol); - if (value.length > 1) { - for (i in value) { - if (i % 2 != 0) { - let word = value[i]; - value[i] = "(" + ArabicServices.wordToLetters(word) + ")"; - } - } - } - if (value != "") { - output_str.value = value.join(""); - document.getElementById("saved").innerHTML = ""; - } else { - output_str.value = ""; - } + let symbol = '*'; + let value = input_str.value.split(symbol); + if (value.length > 1) { + for (i in value) { + if (i % 2 != 0) { + let word = value[i]; + value[i] = '(' + ArabicServices.wordToLetters(word) + ')'; + } + } + } + if (value != '') { + output_str.value = value.join(''); + document.getElementById('saved').innerHTML = ''; + } else { + output_str.value = ''; + } } diff --git a/assets/js/oldArabic.js b/assets/js/oldArabic.js index ac88e44..413d4d9 100644 --- a/assets/js/oldArabic.js +++ b/assets/js/oldArabic.js @@ -1,142 +1,122 @@ function each_word(string, level = 0) { - switch (level) { - case 0: - return ArabicServices.toOldArabic(string); - case 1: - return ArabicServices.toOldArabicAndTashfeerPannedWords(string); - case 2: - return ArabicServices.tashfeer(string); - default: - return ArabicServices.tashfeerPannedWords(string, 2); - } + switch (level) { + case 0: + return ArabicServices.toOldArabic(string); + case 1: + return ArabicServices.toOldArabicAndTashfeerPannedWords(string); + case 2: + return ArabicServices.tashfeer(string); + default: + return ArabicServices.tashfeerPannedWords(string, 2); + } } const modes = { - "old-arabic": 0, - "old-arabic+popular": 1, - "encrypt-all": 2, - "encrypt-popular": 3, + 'old-arabic': 0, + 'old-arabic+popular': 1, + 'encrypt-all': 2, + 'encrypt-popular': 3, }; function convertText(mode) { - let value = input_str.value; - if (value != "") { - output_str.value = each_word(input_str.value, modes[mode]); - document.getElementById("saved").innerHTML = ""; - document.getElementById("out-box").className = ""; - document.getElementById("out-box").classList.add("out-box-show"); - } else { - output_str.value = ""; - } + let value = input_str.value; + if (value != '') { + output_str.value = each_word(input_str.value, modes[mode]); + document.getElementById('saved').innerHTML = ''; + document.getElementById('out-box').className = ''; + document.getElementById('out-box').classList.add('out-box-show'); + } else { + output_str.value = ''; + } } function copy_to_clipboard() { - var copyText = document.getElementById("output_str"); - if (copyText.value == "") { - return; - } - /* Select the text field */ - copyText.select(); - copyText.setSelectionRange(0, 99999); /* For mobile devices */ + var copyText = document.getElementById('output_str'); + if (copyText.value == '') { + return; + } + /* Select the text field */ + copyText.select(); + copyText.setSelectionRange(0, 99999); /* For mobile devices */ - /* Copy the text inside the text field */ - document.execCommand("copy"); + /* Copy the text inside the text field */ + document.execCommand('copy'); - /* Alert the copied text */ - document.getElementById("saved").innerHTML = "تم النسخ"; + /* Alert the copied text */ + document.getElementById('saved').innerHTML = 'تم النسخ'; } -const oldArabicCheck = document.getElementById("oldArabicCheck"); -const encryptCommonCheck = document.getElementById("encryptCommonCheck"); -const encryptAllCheck = document.getElementById("encryptAllCheck"); -encryptAllCheck.addEventListener("change", function () { - if (this.checked) { - oldArabicCheck.checked = false; - encryptCommonCheck.checked = false; - } else { - oldArabicCheck.checked = true; - encryptCommonCheck.checked = true; - } - saveSelection(); +const oldArabicCheck = document.getElementById('oldArabicCheck'); +const encryptCommonCheck = document.getElementById('encryptCommonCheck'); +const encryptAllCheck = document.getElementById('encryptAllCheck'); +encryptAllCheck.addEventListener('change', function () { + if (this.checked) { + oldArabicCheck.checked = false; + encryptCommonCheck.checked = false; + } else { + oldArabicCheck.checked = true; + encryptCommonCheck.checked = true; + } + saveSelection(); }); -oldArabicCheck.addEventListener("change", function () { - if ( - !this.checked && - !encryptCommonCheck.checked && - !encryptAllCheck.checked - ) { - oldArabicCheck.checked = true; - } else { - encryptAllCheck.checked = false; - } - saveSelection(); +oldArabicCheck.addEventListener('change', function () { + if (!this.checked && !encryptCommonCheck.checked && !encryptAllCheck.checked) { + oldArabicCheck.checked = true; + } else { + encryptAllCheck.checked = false; + } + saveSelection(); }); -encryptCommonCheck.addEventListener("change", function () { - if (!this.checked && !oldArabicCheck.checked && !encryptAllCheck.checked) { - oldArabicCheck.checked = true; - } else { - encryptAllCheck.checked = false; - } - saveSelection(); +encryptCommonCheck.addEventListener('change', function () { + if (!this.checked && !oldArabicCheck.checked && !encryptAllCheck.checked) { + oldArabicCheck.checked = true; + } else { + encryptAllCheck.checked = false; + } + saveSelection(); }); function convert() { - if ( - oldArabicCheck.checked && - !encryptCommonCheck.checked && - !encryptAllCheck.checked - ) { - convertText("old-arabic"); - } else if ( - oldArabicCheck.checked && - encryptCommonCheck.checked && - !encryptAllCheck.checked - ) { - convertText("old-arabic+popular"); - } else if (encryptAllCheck.checked) { - convertText("encrypt-all"); - } else if ( - encryptCommonCheck.checked && - !encryptAllCheck.checked && - !oldArabicCheck.checked - ) { - convertText("encrypt-popular"); - } + if (oldArabicCheck.checked && !encryptCommonCheck.checked && !encryptAllCheck.checked) { + convertText('old-arabic'); + } else if (oldArabicCheck.checked && encryptCommonCheck.checked && !encryptAllCheck.checked) { + convertText('old-arabic+popular'); + } else if (encryptAllCheck.checked) { + convertText('encrypt-all'); + } else if (encryptCommonCheck.checked && !encryptAllCheck.checked && !oldArabicCheck.checked) { + convertText('encrypt-popular'); + } } /** * save selection to local storage */ function saveSelection() { - let oldArabic = oldArabicCheck.checked; - let encryptCommon = encryptCommonCheck.checked; - let encryptAll = encryptAllCheck.checked; - localStorage.setItem("oldArabic", oldArabic); - localStorage.setItem("encryptCommon", encryptCommon); - localStorage.setItem("encryptAll", encryptAll); + let oldArabic = oldArabicCheck.checked; + let encryptCommon = encryptCommonCheck.checked; + let encryptAll = encryptAllCheck.checked; + localStorage.setItem('oldArabic', oldArabic); + localStorage.setItem('encryptCommon', encryptCommon); + localStorage.setItem('encryptAll', encryptAll); } /** * get selection from local storage */ function getSelection() { - const oldArabic = localStorage.getItem("oldArabic"); - const encryptCommon = localStorage.getItem("encryptCommon"); - const encryptAll = localStorage.getItem("encryptAll"); + const oldArabic = localStorage.getItem('oldArabic'); + const encryptCommon = localStorage.getItem('encryptCommon'); + const encryptAll = localStorage.getItem('encryptAll'); - oldArabicCheck.checked = oldArabic === "true"; - encryptCommonCheck.checked = encryptCommon === "true"; - encryptAllCheck.checked = encryptAll === "true"; + oldArabicCheck.checked = oldArabic === 'true'; + encryptCommonCheck.checked = encryptCommon === 'true'; + encryptAllCheck.checked = encryptAll === 'true'; - if ( - !oldArabicCheck.checked && - !encryptCommonCheck.checked && - !encryptAllCheck.checked - ) { - oldArabicCheck.checked = true; - } + if (!oldArabicCheck.checked && !encryptCommonCheck.checked && !encryptAllCheck.checked) { + oldArabicCheck.checked = true; + } } // execute on load diff --git a/index.html b/index.html index 0cdabf2..5a69ee9 100644 --- a/index.html +++ b/index.html @@ -1,79 +1,84 @@ - - - - - - - - - - خدمات اللغة العربية - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - -

هدفنا نشر العلم والمعرفة بين مجتمعاتنا العربية.

-
-
- - -

- تحويل الرسم العربي إلى الرسم القديم -

-
- - -

تحويل الحرف إلى كلمة

-
-
- - visitors -
- - - - - + + + + + + + + + خدمات اللغة العربية + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

هدفنا نشر العلم والمعرفة بين مجتمعاتنا العربية.

+
+
+ + +

تحويل الرسم العربي إلى الرسم القديم

+
+ + +

تحويل الحرف إلى كلمة

+
+
+ + visitors +
+ + + + diff --git a/letter-to-word/index.html b/letter-to-word/index.html index cc20d25..2300a2f 100644 --- a/letter-to-word/index.html +++ b/letter-to-word/index.html @@ -1,162 +1,120 @@ - - - - - الحرف إلى كلمة - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

تحويل الحرف إلى كلمة

-
- - -
-
- - -
-
- -

-
-
- - - - - - + + + + + الحرف إلى كلمة + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

تحويل الحرف إلى كلمة

+
+ + +
+
+ + +
+
+ +

+
+
+ + + + + + diff --git a/manifest.json b/manifest.json index 9221767..b66a310 100644 --- a/manifest.json +++ b/manifest.json @@ -1,53 +1,53 @@ { - "short_name": "خدمات اللغة العربية", - "name": "خدمات اللغة العربية", - "description": "موقع لخدمات ما يتعلق باللغة العربية", - "icons": [ - { - "src": "assets/images/logo_x48.png", - "type": "image/png", - "sizes": "48x48", - "purpose": "any maskable" - }, - { - "src": "assets/images/logo_x72.png", - "type": "image/png", - "sizes": "72x72", - "purpose": "any maskable" - }, - { - "src": "assets/images/logo_x96.png", - "type": "image/png", - "sizes": "96x96", - "purpose": "any maskable" - }, - { - "src": "assets/images/logo_x128.png", - "type": "image/png", - "sizes": "128x128", - "purpose": "any maskable" - }, - { - "src": "assets/images/logo_x192.png", - "type": "image/png", - "sizes": "192x192", - "purpose": "any maskable" - }, - { - "src": "assets/images/logo_x384.png", - "type": "image/png", - "sizes": "384x384", - "purpose": "any maskable" - }, - { - "src": "assets/images/logo_x512.png", - "type": "image/png", - "sizes": "512x512", - "purpose": "any maskable" - } - ], - "start_url": ".", - "background_color": "#33485d", - "display": "standalone", - "theme_color": "#33485d" -} \ No newline at end of file + "short_name": "خدمات اللغة العربية", + "name": "خدمات اللغة العربية", + "description": "موقع لخدمات ما يتعلق باللغة العربية", + "icons": [ + { + "src": "assets/images/logo_x48.png", + "type": "image/png", + "sizes": "48x48", + "purpose": "any maskable" + }, + { + "src": "assets/images/logo_x72.png", + "type": "image/png", + "sizes": "72x72", + "purpose": "any maskable" + }, + { + "src": "assets/images/logo_x96.png", + "type": "image/png", + "sizes": "96x96", + "purpose": "any maskable" + }, + { + "src": "assets/images/logo_x128.png", + "type": "image/png", + "sizes": "128x128", + "purpose": "any maskable" + }, + { + "src": "assets/images/logo_x192.png", + "type": "image/png", + "sizes": "192x192", + "purpose": "any maskable" + }, + { + "src": "assets/images/logo_x384.png", + "type": "image/png", + "sizes": "384x384", + "purpose": "any maskable" + }, + { + "src": "assets/images/logo_x512.png", + "type": "image/png", + "sizes": "512x512", + "purpose": "any maskable" + } + ], + "start_url": ".", + "background_color": "#33485d", + "display": "standalone", + "theme_color": "#33485d" +} diff --git a/old-arabic/index.html b/old-arabic/index.html index 0e6be3a..e967c50 100644 --- a/old-arabic/index.html +++ b/old-arabic/index.html @@ -1,224 +1,156 @@ - - - الرسم العربي القديم - - - - - - - - - - - - - - - - - - - - - - - - - + + + الرسم العربي القديم + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - -
- -

الرسم العرٮى الٯدىم

-

- موقع لتحويل نصوص اللغة العربية إلى طريقة الكتابة القديمة قبل وضع النقاط - على الحروف -

+ +
+ +

الرسم العرٮى الٯدىم

+

+ موقع لتحويل نصوص اللغة العربية إلى طريقة الكتابة القديمة قبل وضع النقاط على الحروف +

-
- -
- -
-
- - -
-
- - -
-
- - -
-
-
-
+
+ +
+ +
+
+ + +
+
+ + +
+
+ + +
+
+
+
-
- -
+
+ +
-
-
- -
-
- -

-
- -
-
+
+
+ +
+
+ +

+
+ +
+
- - - - + + + diff --git a/robots.txt b/robots.txt index e69de29..eb05362 100644 --- a/robots.txt +++ b/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/sw.js b/sw.js index 5db5bb3..9b25cd7 100644 --- a/sw.js +++ b/sw.js @@ -1,54 +1,54 @@ -const cacheName = "services-v2.2.2"; +const cacheName = 'services-v2.2.2'; const staticAssets = [ - "./", - "./404.html", - "./index.html", - "./assets/images/logo-transparent.svg", - "./assets/images/logo-circle.svg", - "./assets/images/logo.svg", - "./assets/css/home.css", - "./assets/css/main.css", - "./assets/js/oldArabic.js", - "./assets/js/letterToWord.js", - "./letter-to-word/index.html", - "./old-arabic/index.html", + './', + './404.html', + './index.html', + './assets/images/logo-transparent.svg', + './assets/images/logo-circle.svg', + './assets/images/logo.svg', + './assets/css/home.css', + './assets/css/main.css', + './assets/js/oldArabic.js', + './assets/js/letterToWord.js', + './letter-to-word/index.html', + './old-arabic/index.html', ]; -self.addEventListener("install", async (e) => { - const cache = await caches.open(cacheName); - await cache.addAll(staticAssets); - return self.skipWaiting(); +self.addEventListener('install', async (e) => { + const cache = await caches.open(cacheName); + await cache.addAll(staticAssets); + return self.skipWaiting(); }); -self.addEventListener("activate", (e) => { - self.clients.claim(); +self.addEventListener('activate', (e) => { + self.clients.claim(); }); -self.addEventListener("fetch", async (e) => { - const req = e.request; - const url = new URL(req.url); +self.addEventListener('fetch', async (e) => { + const req = e.request; + const url = new URL(req.url); - if (url.origin === location.origin) { - e.respondWith(cacheFirst(req)); - } else { - e.respondWith(networkAndCache(req)); - } + if (url.origin === location.origin) { + e.respondWith(cacheFirst(req)); + } else { + e.respondWith(networkAndCache(req)); + } }); async function cacheFirst(req) { - const cache = await caches.open(cacheName); - const cached = await cache.match(req); - return cached || fetch(req); + const cache = await caches.open(cacheName); + const cached = await cache.match(req); + return cached || fetch(req); } async function networkAndCache(req) { - const cache = await caches.open(cacheName); - try { - const fresh = await fetch(req); - await cache.put(req, fresh.clone()); - return fresh; - } catch (e) { - const cached = await cache.match(req); - return cached; - } + const cache = await caches.open(cacheName); + try { + const fresh = await fetch(req); + await cache.put(req, fresh.clone()); + return fresh; + } catch (e) { + const cached = await cache.match(req); + return cached; + } }