From a065e04d529da1d847b5062a12c46d916408bf32 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 21:46:22 -0500 Subject: update based on https://github.com/mdn/yari/issues/2028 --- files/fa/_wikihistory.json | 1038 -------------------- files/fa/archive/add-ons/index.html | 69 -- .../building_and_installing_firefox_os/index.html | 78 -- files/fa/archive/b2g_os/index.html | 170 ---- files/fa/archive/b2g_os/introduction/index.html | 104 -- files/fa/archive/b2g_os/platform/index.html | 82 -- files/fa/archive/b2g_os/quickstart/index.html | 51 - .../b2g_os/quickstart/your_first_app/index.html | 265 ----- .../b2g_os/using_the_app_manager/index.html | 264 ----- files/fa/archive/index.html | 18 - files/fa/archive/mozilla/index.html | 10 - files/fa/archive/mozilla/persona/index.html | 176 ---- .../fa/archive/mozilla/persona/nooshin/index.html | 59 -- .../archive/mozilla/persona/quick_setup/index.html | 56 -- files/fa/archive/mozilla/xul/index.html | 94 -- .../index.html" | 365 ------- files/fa/archive/web/index.html | 81 -- .../archive/web/server-side_javascript/index.html | 17 - .../index.html" | 557 ----------- files/fa/midas/index.html | 330 ------- .../mozilla/add-ons/add-on_guidelines/index.html | 116 --- files/fa/mozilla/add-ons/sdk/index.html | 81 -- .../mozilla/add-ons/themes/background/index.html | 104 -- files/fa/mozilla/add-ons/themes/index.html | 61 -- .../add-ons/themes/theme_concepts/index.html | 232 ----- files/fa/mozilla/connect/index.html | 98 -- files/fa/mozilla/firefox_for_android/index.html | 62 -- .../marketplace/publishing/submit/index.html | 10 - files/fa/mozilla/mobile/index.html | 32 - .../fa/mozilla/mobile/viewport_meta_tag/index.html | 87 -- files/fa/mozilla/projects/index.html | 15 - files/fa/mozilla/projects/nss/index.html | 176 ---- files/fa/mozilla/projects/psm/index.html | 13 - files/fa/mozilla/projects/rhino/index.html | 20 - files/fa/mozilla/tech/index.html | 10 - .../index.html" | 95 -- 36 files changed, 5096 deletions(-) delete mode 100644 files/fa/_wikihistory.json delete mode 100644 files/fa/archive/add-ons/index.html delete mode 100644 files/fa/archive/b2g_os/building_and_installing_firefox_os/index.html delete mode 100644 files/fa/archive/b2g_os/index.html delete mode 100644 files/fa/archive/b2g_os/introduction/index.html delete mode 100644 files/fa/archive/b2g_os/platform/index.html delete mode 100644 files/fa/archive/b2g_os/quickstart/index.html delete mode 100644 files/fa/archive/b2g_os/quickstart/your_first_app/index.html delete mode 100644 files/fa/archive/b2g_os/using_the_app_manager/index.html delete mode 100644 files/fa/archive/index.html delete mode 100644 files/fa/archive/mozilla/index.html delete mode 100644 files/fa/archive/mozilla/persona/index.html delete mode 100644 files/fa/archive/mozilla/persona/nooshin/index.html delete mode 100644 files/fa/archive/mozilla/persona/quick_setup/index.html delete mode 100644 files/fa/archive/mozilla/xul/index.html delete mode 100644 "files/fa/archive/mozilla/xul/\331\205\330\261\330\254\330\271_\330\262\330\250\330\247\331\206_\330\267\330\261\330\247\330\255\333\214_\331\210\330\247\330\263\330\267_\332\251\330\247\330\261\330\250\330\261\333\214_\331\205\330\250\330\252\331\206\333\214_\330\250\330\261_\330\247\333\214\332\251\330\263_\330\247\331\205_\330\247\331\204/index.html" delete mode 100644 files/fa/archive/web/index.html delete mode 100644 files/fa/archive/web/server-side_javascript/index.html delete mode 100644 "files/fa/archive/web/server-side_javascript/\330\261\330\247\331\207\331\206\331\205\330\247/index.html" delete mode 100644 files/fa/midas/index.html delete mode 100644 files/fa/mozilla/add-ons/add-on_guidelines/index.html delete mode 100644 files/fa/mozilla/add-ons/sdk/index.html delete mode 100644 files/fa/mozilla/add-ons/themes/background/index.html delete mode 100644 files/fa/mozilla/add-ons/themes/index.html delete mode 100644 files/fa/mozilla/add-ons/themes/theme_concepts/index.html delete mode 100644 files/fa/mozilla/connect/index.html delete mode 100644 files/fa/mozilla/firefox_for_android/index.html delete mode 100644 files/fa/mozilla/marketplace/publishing/submit/index.html delete mode 100644 files/fa/mozilla/mobile/index.html delete mode 100644 files/fa/mozilla/mobile/viewport_meta_tag/index.html delete mode 100644 files/fa/mozilla/projects/index.html delete mode 100644 files/fa/mozilla/projects/nss/index.html delete mode 100644 files/fa/mozilla/projects/psm/index.html delete mode 100644 files/fa/mozilla/projects/rhino/index.html delete mode 100644 files/fa/mozilla/tech/index.html delete mode 100644 "files/fa/mozilla/\330\250\330\247\330\262\330\247\330\261/index.html" (limited to 'files/fa') diff --git a/files/fa/_wikihistory.json b/files/fa/_wikihistory.json deleted file mode 100644 index 0bf24d106b..0000000000 --- a/files/fa/_wikihistory.json +++ /dev/null @@ -1,1038 +0,0 @@ -{ - "Games": { - "modified": "2019-09-09T15:31:31.567Z", - "contributors": [ - "SphinxKnight", - "wbamberg", - "Qti3e" - ] - }, - "Glossary": { - "modified": "2020-10-07T11:09:21.735Z", - "contributors": [ - "peterbe", - "SphinxKnight", - "wbamberg", - "david_ross" - ] - }, - "Glossary/Element": { - "modified": "2020-08-29T08:27:22.307Z", - "contributors": [ - "AshkanHeidary" - ] - }, - "Glossary/Protocol": { - "modified": "2019-03-18T21:39:50.508Z", - "contributors": [ - "Nazanin_AT" - ] - }, - "Glossary/Prototype-based_programming": { - "modified": "2020-04-25T15:48:14.179Z", - "contributors": [ - "afshari.vahid" - ] - }, - "Glossary/loop": { - "modified": "2019-03-23T22:10:55.089Z", - "contributors": [ - "Darush" - ] - }, - "HTML/Attributes": { - "modified": "2019-03-23T23:38:35.871Z", - "contributors": [ - "teoli", - "amir.farsi", - "navid-emami" - ] - }, - "HTML/Canvas/Drawing_Graphics_with_Canvas": { - "modified": "2019-03-23T23:38:20.891Z", - "contributors": [ - "navid-emami" - ] - }, - "HTML/HTML5": { - "modified": "2019-03-23T23:38:22.268Z", - "contributors": [ - "teoli", - "hamekas.2003", - "navid-emami" - ] - }, - "Learn": { - "modified": "2020-07-16T22:43:40.539Z", - "contributors": [ - "SphinxKnight", - "sayedrasoulfatehi", - "h-shams", - "TheArashM", - "Mahdi-Abedi", - "KazemForghani", - "kazem82", - "kscarfone" - ] - }, - "Learn/CSS": { - "modified": "2020-07-16T22:25:33.364Z", - "contributors": [ - "mojtabataheri", - "josh-wong" - ] - }, - "Learn/Getting_started_with_the_web": { - "modified": "2020-07-16T22:33:51.787Z", - "contributors": [ - "ariaman5", - "sbaloot", - "TheArashM", - "Mahdi-Abedi", - "bz-com", - "chrisdavidmills" - ] - }, - "Learn/Getting_started_with_the_web/CSS_basics": { - "modified": "2020-07-16T22:34:57.876Z", - "contributors": [ - "behzadinanloo1385" - ] - }, - "Learn/Getting_started_with_the_web/Dealing_with_files": { - "modified": "2020-07-16T22:34:32.930Z", - "contributors": [ - "groprog", - "mhm-user" - ] - }, - "Learn/Getting_started_with_the_web/HTML_basics": { - "modified": "2020-07-16T22:34:44.689Z", - "contributors": [ - "PlasticBOY", - "Mahdiyeh1" - ] - }, - "Learn/Getting_started_with_the_web/مقدمات_جاوااسکریپت": { - "modified": "2020-07-16T22:35:09.662Z", - "contributors": [ - "heidarv", - "rouhollahmazarei", - "HassanTafreshi", - "zsotude", - "AyubZ", - "rezafarokhi", - "Moeinh77", - "saeedx4", - "skm2017", - "dariush" - ] - }, - "Learn/Getting_started_with_the_web/منتشر_کردن_وبسایت_شما": { - "modified": "2020-07-16T22:34:24.950Z", - "contributors": [ - "HassanTafreshi" - ] - }, - "Learn/Getting_started_with_the_web/نصب_نرم_افزارهای_پایه": { - "modified": "2020-07-16T22:34:07.219Z", - "contributors": [ - "Mahdi-Abedi" - ] - }, - "Learn/Getting_started_with_the_web/وب_سایت_شما_چه_شکلی_است؟": { - "modified": "2020-07-16T22:34:15.361Z", - "contributors": [ - "groprog", - "Mahdi-Abedi" - ] - }, - "Learn/HTML": { - "modified": "2020-07-16T22:22:16.658Z", - "contributors": [ - "bz-com", - "chrisdavidmills" - ] - }, - "Learn/HTML/Introduction_to_HTML": { - "modified": "2020-07-16T22:22:46.625Z", - "contributors": [ - "RahmatSaeedi", - "KazemForghani", - "drmatrix0" - ] - }, - "Learn/HTML/Introduction_to_HTML/Getting_started": { - "modified": "2020-07-16T22:22:59.605Z", - "contributors": [ - "sbaloot" - ] - }, - "Learn/HTML/Introduction_to_HTML/The_head_metadata_in_HTML": { - "modified": "2020-07-16T22:23:18.915Z", - "contributors": [ - "smooth-progs" - ] - }, - "Learn/JavaScript": { - "modified": "2020-07-16T22:29:38.086Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Learn/JavaScript/Objects": { - "modified": "2020-07-16T22:31:48.797Z", - "contributors": [ - "rasoul_par", - "morteza4422" - ] - }, - "Learn/JavaScript/Objects/Inheritance": { - "modified": "2020-07-16T22:32:13.313Z", - "contributors": [ - "FarzadMohtasham" - ] - }, - "Learn/JavaScript/Objects/مقدمات": { - "modified": "2020-07-16T22:31:57.451Z", - "contributors": [ - "rasoul_par" - ] - }, - "Learn/Server-side": { - "modified": "2020-07-16T22:35:56.665Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Learn/Server-side/Django": { - "modified": "2020-11-01T18:52:31.732Z", - "contributors": [ - "hamishwillee" - ] - }, - "Learn/Server-side/قدم_اول": { - "modified": "2020-07-16T22:36:08.360Z", - "contributors": [ - "HassanTafreshi" - ] - }, - "Learn/Tools_and_testing": { - "modified": "2020-07-16T22:38:54.782Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Learn/Tools_and_testing/Client-side_JavaScript_frameworks": { - "modified": "2020-07-16T22:39:31.570Z", - "contributors": [ - "javidsafi66" - ] - }, - "MDN": { - "modified": "2020-02-19T19:20:29.312Z", - "contributors": [ - "jswisher", - "SphinxKnight", - "wbamberg", - "persianRobot", - "Sheppy" - ] - }, - "MDN/Community": { - "modified": "2020-08-22T20:47:40.362Z", - "contributors": [ - "sadafabasi39" - ] - }, - "MDN/Contribute": { - "modified": "2019-12-05T11:29:07.970Z", - "contributors": [ - "asrguru20", - "wbamberg", - "mehrad77", - "azolfagharj", - "Rouhollah", - "Sheppy" - ] - }, - "MDN/Contribute/Getting_started": { - "modified": "2020-09-30T17:11:03.233Z", - "contributors": [ - "chrisdavidmills", - "h-shams", - "wbamberg", - "ma-pyrooz", - "mohamadasadifar1", - "reza7958", - "electroClassic", - "bz-com", - "persianRobot", - "Mahdy13carbon13" - ] - }, - "MDN/Contribute/Howto": { - "modified": "2020-12-07T19:29:58.775Z", - "contributors": [ - "wbamberg", - "jswisher" - ] - }, - "MDN/Contribute/Howto/Be_a_beta_tester": { - "modified": "2019-01-17T01:16:00.841Z", - "contributors": [ - "wbamberg", - "TheArashM" - ] - }, - "MDN/Contribute/Howto/Create_and_edit_pages": { - "modified": "2020-10-24T08:29:09.905Z", - "contributors": [ - "SaeedEsmailzaee" - ] - }, - "MDN/Contribute/Howto/ساختنـحسابـکاربری": { - "modified": "2019-03-23T22:33:50.005Z", - "contributors": [ - "wbamberg", - "itismasi", - "mhpedram", - "persianRobot" - ] - }, - "MDN/Contribute/Localize": { - "modified": "2019-01-16T19:20:50.931Z", - "contributors": [ - "wbamberg", - "Sheppy" - ] - }, - "MDN/Contribute/Localize/ترجمه_صفحات": { - "modified": "2020-03-11T13:05:40.836Z", - "contributors": [ - "Jafari", - "wbamberg", - "bz-com", - "omidfi", - "MR-AMIR", - "maspadana" - ] - }, - "MDN_at_ten": { - "modified": "2019-01-16T22:10:46.111Z", - "contributors": [ - "milad" - ] - }, - "Mozilla": { - "modified": "2019-03-23T23:26:09.435Z", - "contributors": [ - "Sheppy" - ] - }, - "Mozilla/Add-ons": { - "modified": "2019-09-09T11:55:48.971Z", - "contributors": [ - "SphinxKnight", - "goodosuser", - "kazem82", - "jswisher" - ] - }, - "Mozilla/Add-ons/WebExtensions": { - "modified": "2019-03-18T21:06:16.092Z", - "contributors": [ - "omidk56", - "bz-com", - "javadmohebbi" - ] - }, - "Mozilla/Add-ons/WebExtensions/API": { - "modified": "2020-04-29T10:36:12.175Z", - "contributors": [ - "rebloor" - ] - }, - "Mozilla/Add-ons/WebExtensions/API/runtime": { - "modified": "2020-10-15T22:29:32.361Z", - "contributors": [ - "rebloor" - ] - }, - "Mozilla/Add-ons/WebExtensions/API/runtime/onMessage": { - "modified": "2020-10-15T22:29:36.385Z", - "contributors": [ - "omidmaroofi" - ] - }, - "Mozilla/Add-ons/WebExtensions/Your_first_WebExtension": { - "modified": "2020-04-02T00:14:24.112Z", - "contributors": [ - "orbit3995", - "omidmaroofi", - "omidk56" - ] - }, - "Mozilla/Add-ons/WebExtensions/Your_second_WebExtension": { - "modified": "2019-03-18T21:01:48.840Z", - "contributors": [ - "EdrisFm" - ] - }, - "Mozilla/Developer_guide": { - "modified": "2019-03-23T23:13:55.563Z", - "contributors": [ - "Mostafa.S", - "Sheppy" - ] - }, - "Mozilla/Developer_guide/Source_Code": { - "modified": "2019-03-23T23:13:55.976Z", - "contributors": [ - "amindelavar", - "Pmoo13" - ] - }, - "Mozilla/Firefox": { - "modified": "2019-09-10T14:56:23.917Z", - "contributors": [ - "SphinxKnight", - "wbamberg", - "teoli", - "reza.jahanbigloo2@gmail.com", - "kazem82" - ] - }, - "Server-sent_events": { - "modified": "2019-03-23T23:01:56.485Z", - "contributors": [ - "ethertank" - ] - }, - "Tools": { - "modified": "2020-07-16T22:44:14.660Z", - "contributors": [ - "SphinxKnight", - "huma99", - "fscholz" - ] - }, - "Tools/Debugger": { - "modified": "2020-07-16T22:35:04.316Z", - "contributors": [ - "Sheppy" - ] - }, - "Tools/Debugger/How_to": { - "modified": "2020-07-16T22:35:07.434Z" - }, - "Tools/Network_Monitor": { - "modified": "2020-07-16T22:35:30.025Z", - "contributors": [ - "hadi78m" - ] - }, - "Tools/Web_Console": { - "modified": "2020-07-16T22:34:05.702Z", - "contributors": [ - "morteza-mirhosseini" - ] - }, - "Web": { - "modified": "2019-11-10T08:22:03.181Z", - "contributors": [ - "amirmojiry", - "sara62", - "MR-AMIR", - "zand1339", - "Sheppy" - ] - }, - "Web/API": { - "modified": "2020-04-21T14:27:50.911Z", - "contributors": [ - "mghafari302", - "Qti3e", - "teoli", - "fscholz" - ] - }, - "Web/API/AnimationEvent": { - "modified": "2020-10-15T22:28:12.299Z" - }, - "Web/API/AnimationEvent/AnimationEvent": { - "modified": "2020-10-15T22:28:11.487Z", - "contributors": [ - "fanooseshomali" - ] - }, - "Web/API/Blob": { - "modified": "2020-10-15T22:14:47.186Z", - "contributors": [ - "huangdarwin" - ] - }, - "Web/API/CanvasRenderingContext2D": { - "modified": "2020-10-15T22:29:07.637Z", - "contributors": [ - "emilefokkema" - ] - }, - "Web/API/CanvasRenderingContext2D/createLinearGradient": { - "modified": "2020-10-15T22:29:03.379Z", - "contributors": [ - "hqym333" - ] - }, - "Web/API/Element": { - "modified": "2020-10-15T22:14:13.333Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Web/API/Element/getBoundingClientRect": { - "modified": "2020-10-15T22:13:50.825Z", - "contributors": [ - "SphinxKnight", - "Shasusa" - ] - }, - "Web/API/GamepadEvent": { - "modified": "2020-10-15T22:32:40.336Z", - "contributors": [ - "jabbarkarimi1111" - ] - }, - "Web/API/MediaTrackConstraints": { - "modified": "2019-03-18T21:12:07.267Z", - "contributors": [ - "MissSheyni" - ] - }, - "Web/API/Node": { - "modified": "2019-03-23T22:43:19.822Z", - "contributors": [ - "AlfredoLlaquet" - ] - }, - "Web/API/Node/innerText": { - "modified": "2019-03-23T22:31:35.738Z", - "contributors": [ - "ATR" - ] - }, - "Web/API/Node/insertBefore": { - "modified": "2019-01-16T21:47:16.448Z", - "contributors": [ - "Mojtaba077" - ] - }, - "Web/API/Node/isEqualNode": { - "modified": "2020-10-15T22:29:11.951Z", - "contributors": [ - "falatory.ali" - ] - }, - "Web/API/Notification/requestPermission": { - "modified": "2020-10-15T22:20:30.284Z", - "contributors": [ - "DevPorya" - ] - }, - "Web/API/notification": { - "modified": "2020-10-15T22:20:32.089Z", - "contributors": [ - "chrisdavidmills" - ] - }, - "Web/CSS": { - "modified": "2019-09-11T03:32:42.668Z", - "contributors": [ - "SphinxKnight", - "mojtabataheri", - "kazem82", - "teoli" - ] - }, - "Web/CSS/::cue": { - "modified": "2020-10-15T22:06:24.492Z", - "contributors": [ - "dijam" - ] - }, - "Web/CSS/:not": { - "modified": "2020-10-15T22:06:08.557Z", - "contributors": [ - "dijam" - ] - }, - "Web/CSS/Adjacent_sibling_combinator": { - "modified": "2020-10-15T22:06:24.995Z", - "contributors": [ - "ExE-Boss", - "dijam" - ] - }, - "Web/CSS/CSS_Box_Model": { - "modified": "2020-10-22T05:27:06.828Z", - "contributors": [ - "wbamberg" - ] - }, - "Web/CSS/CSS_Box_Model/Mastering_margin_collapsing": { - "modified": "2020-10-22T05:27:07.950Z", - "contributors": [ - "lambdaxyzt" - ] - }, - "Web/CSS/CSS_Flexible_Box_Layout": { - "modified": "2019-03-18T21:30:05.380Z", - "contributors": [ - "andrzejkrecicki" - ] - }, - "Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox": { - "modified": "2019-03-18T21:29:52.702Z", - "contributors": [ - "mort3za" - ] - }, - "Web/CSS/Media_Queries": { - "modified": "2019-03-23T22:06:22.850Z", - "contributors": [ - "Sheppy" - ] - }, - "Web/CSS/Media_Queries/ابزار-تست-رسانه-پاسخگو": { - "modified": "2019-03-23T22:06:17.159Z", - "contributors": [ - "soroushsoltanni" - ] - }, - "Web/CSS/Pseudo-elements": { - "modified": "2019-03-18T21:31:36.769Z", - "contributors": [ - "dijam" - ] - }, - "Web/CSS/Specificity": { - "modified": "2019-07-27T11:39:48.924Z", - "contributors": [ - "anfnamazi" - ] - }, - "Web/CSS/all": { - "modified": "2020-10-15T22:06:35.567Z", - "contributors": [ - "dijam" - ] - }, - "Web/CSS/flex_value": { - "modified": "2020-10-15T22:07:20.351Z", - "contributors": [ - "mort3za" - ] - }, - "Web/CSS/margin": { - "modified": "2019-03-23T22:54:40.296Z", - "contributors": [ - "Sebastianz", - "fscholz", - "dannyfox" - ] - }, - "Web/CSS/position": { - "modified": "2019-03-23T23:30:18.401Z", - "contributors": [ - "Sebastianz", - "cyletech" - ] - }, - "Web/CSS/top": { - "modified": "2019-03-23T23:30:18.811Z", - "contributors": [ - "Sebastianz", - "fscholz", - "dannyfox", - "cyletech" - ] - }, - "Web/CSS/transform-function": { - "modified": "2020-10-15T22:06:30.881Z", - "contributors": [ - "fscholz" - ] - }, - "Web/CSS/transform-function/rotate()": { - "modified": "2020-11-19T16:05:36.303Z", - "contributors": [ - "chrisdavidmills", - "mojtabataheri", - "dijam" - ] - }, - "Web/CSS/انتخابگرـنوع": { - "modified": "2020-10-15T22:06:28.710Z", - "contributors": [ - "dijam" - ] - }, - "Web/CSS/انتخابگرـویژگی": { - "modified": "2020-10-15T22:06:29.476Z", - "contributors": [ - "dijam" - ] - }, - "Web/CSS/بزرگنمایی": { - "modified": "2020-10-15T22:08:35.445Z", - "contributors": [ - "astrixoblix" - ] - }, - "Web/Guide": { - "modified": "2019-03-23T23:26:13.696Z", - "contributors": [ - "behnammodi", - "Sheppy" - ] - }, - "Web/Guide/Graphics": { - "modified": "2019-03-23T23:26:09.264Z", - "contributors": [ - "kazem82", - "jswisher" - ] - }, - "Web/HTML": { - "modified": "2020-06-25T15:45:32.182Z", - "contributors": [ - "alizokaeaidehaghani", - "SphinxKnight", - "mahmoudlolachi", - "PlasticBOY", - "wbamberg", - "bz-com", - "drmatrix0", - "kazem82", - "teoli", - "amir.farsi", - "Sheppy" - ] - }, - "Web/HTML/Element": { - "modified": "2019-03-23T22:00:24.989Z", - "contributors": [ - "teoli", - "navid-emami" - ] - }, - "Web/HTML/Element/Heading_Elements": { - "modified": "2019-03-18T21:12:37.772Z", - "contributors": [ - "teoli", - "glad" - ] - }, - "Web/HTML/Element/Input": { - "modified": "2019-03-18T21:12:25.079Z", - "contributors": [ - "teoli", - "hamids192" - ] - }, - "Web/HTML/Element/a": { - "modified": "2020-10-15T22:34:50.567Z", - "contributors": [ - "hematiali06" - ] - }, - "Web/HTML/Element/abbr": { - "modified": "2019-03-23T22:29:17.620Z", - "contributors": [ - "Qti3e" - ] - }, - "Web/HTML/Element/data": { - "modified": "2020-10-15T22:07:53.306Z", - "contributors": [ - "akbarjafari" - ] - }, - "Web/HTML/Element/em": { - "modified": "2019-03-23T22:29:24.246Z", - "contributors": [ - "Qti3e" - ] - }, - "Web/HTML/Global_attributes": { - "modified": "2020-10-15T22:28:28.164Z", - "contributors": [ - "alattalatta" - ] - }, - "Web/HTML/Global_attributes/id": { - "modified": "2020-10-15T22:28:24.997Z", - "contributors": [ - "A.Faturechi" - ] - }, - "Web/HTML/Tips_for_authoring_fast-loading_HTML_pages": { - "modified": "2020-07-16T22:22:32.419Z", - "contributors": [ - "teoli", - "navid-emami" - ] - }, - "Web/HTML/افزودن_رنگ": { - "modified": "2019-03-18T21:30:28.105Z", - "contributors": [ - "rezafarokhi" - ] - }, - "Web/HTTP": { - "modified": "2020-06-02T02:26:43.925Z", - "contributors": [ - "javidsafi66", - "mghasem1", - "mohamad325" - ] - }, - "Web/HTTP/Status": { - "modified": "2020-10-15T22:34:25.063Z", - "contributors": [ - "SphinxKnightt" - ] - }, - "Web/JavaScript": { - "modified": "2020-03-12T19:39:09.218Z", - "contributors": [ - "SphinxKnight", - "Mirmousavi", - "teoli", - "maryammehrnoush", - "kazem82", - "akp" - ] - }, - "Web/JavaScript/A_re-introduction_to_JavaScript": { - "modified": "2020-10-18T10:38:23.852Z", - "contributors": [ - "sevenweb7" - ] - }, - "Web/JavaScript/Inheritance_and_the_prototype_chain": { - "modified": "2020-03-12T19:48:07.832Z", - "contributors": [ - "hamidjafari" - ] - }, - "Web/JavaScript/Reference": { - "modified": "2020-03-12T19:39:56.540Z", - "contributors": [ - "hamidjafari", - "LJHarb" - ] - }, - "Web/JavaScript/Reference/Classes": { - "modified": "2020-10-15T22:35:05.585Z", - "contributors": [ - "MoTTs" - ] - }, - "Web/JavaScript/Reference/Errors": { - "modified": "2020-03-12T19:48:00.221Z", - "contributors": [ - "Sheppy" - ] - }, - "Web/JavaScript/Reference/Errors/Too_much_recursion": { - "modified": "2020-03-26T16:35:17.163Z", - "contributors": [ - "lorendany1211" - ] - }, - "Web/JavaScript/Reference/Errors/Unexpected_token": { - "modified": "2020-06-30T06:47:43.999Z", - "contributors": [ - "fanooseshomali" - ] - }, - "Web/JavaScript/Reference/Functions": { - "modified": "2020-10-15T21:58:13.265Z", - "contributors": [ - "fscholz" - ] - }, - "Web/JavaScript/Reference/Global_Objects": { - "modified": "2020-03-12T19:39:50.931Z", - "contributors": [ - "fscholz" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array": { - "modified": "2020-10-15T22:24:21.117Z", - "contributors": [ - "amirmojiry", - "ExE-Boss" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/Reduce": { - "modified": "2020-10-15T22:24:16.551Z", - "contributors": [ - "alireza_tc" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Array/of": { - "modified": "2020-10-15T22:26:06.993Z", - "contributors": [ - "amin.pourhadi" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Function": { - "modified": "2020-10-15T22:13:56.937Z", - "contributors": [ - "jmn05" - ] - }, - "Web/JavaScript/Reference/Global_Objects/RegExp": { - "modified": "2019-03-23T23:06:27.321Z", - "contributors": [ - "wbamberg", - "ziyunfei" - ] - }, - "Web/JavaScript/Reference/Global_Objects/RegExp/test": { - "modified": "2019-03-23T23:06:33.623Z", - "contributors": [ - "MR-AMIR" - ] - }, - "Web/JavaScript/Reference/Global_Objects/Set": { - "modified": "2019-03-23T22:24:21.690Z", - "contributors": [ - "MQT" - ] - }, - "Web/JavaScript/Reference/Global_Objects/null": { - "modified": "2019-03-23T22:26:21.089Z", - "contributors": [ - "sohil_ww" - ] - }, - "Web/JavaScript/Reference/Operators": { - "modified": "2020-03-12T19:45:38.894Z", - "contributors": [ - "HassanTafreshi", - "Arous" - ] - }, - "Web/JavaScript/Reference/Statements": { - "modified": "2020-03-12T19:41:38.076Z", - "contributors": [ - "fscholz" - ] - }, - "Web/JavaScript/راهنما": { - "modified": "2020-03-12T19:40:57.602Z", - "contributors": [ - "hamed.tm", - "asghar1366", - "ompcj4u" - ] - }, - "Web/JavaScript/راهنما/Control_flow_and_error_handling": { - "modified": "2020-03-12T19:44:53.784Z", - "contributors": [ - "Arashfiroozabadi" - ] - }, - "Web/JavaScript/راهنما/Details_of_the_Object_Model": { - "modified": "2020-12-05T15:23:37.230Z", - "contributors": [ - "r.einollahi1" - ] - }, - "Web/JavaScript/راهنما/Functions": { - "modified": "2020-03-12T19:46:51.520Z", - "contributors": [ - "peymanzk" - ] - }, - "Web/JavaScript/راهنما/Grammar_and_types": { - "modified": "2020-03-12T19:45:05.571Z", - "contributors": [ - "Zamaaan" - ] - }, - "Web/JavaScript/راهنما/مقدمه": { - "modified": "2020-03-12T19:43:32.628Z", - "contributors": [ - "farhadmpr", - "r-mohammadi", - "eliassharafi" - ] - }, - "Web/MathML": { - "modified": "2019-03-23T23:18:26.790Z", - "contributors": [ - "bz-com", - "fred.wang", - "teoli", - "kazem82" - ] - }, - "Web/SVG": { - "modified": "2019-03-23T23:10:57.201Z", - "contributors": [ - "rvighne" - ] - }, - "Web/SVG/Tutorial": { - "modified": "2019-03-23T23:10:53.853Z", - "contributors": [ - "m.hosseinabady" - ] - }, - "Web/SVG/Tutorial/Introduction": { - "modified": "2019-03-23T22:30:01.830Z", - "contributors": [ - "Hossein-Rafie" - ] - }, - "Web/Tutorials": { - "modified": "2019-05-27T16:06:08.637Z", - "contributors": [ - "zeraatydavoud", - "Arashfiroozabadi", - "kazem82", - "abbas.ghodsii", - "yahakim" - ] - }, - "Web/جاوااسکریپت": { - "modified": "2020-03-12T19:43:09.101Z", - "contributors": [ - "Mirmousavi" - ] - }, - "Web_Development": { - "modified": "2019-03-23T23:36:21.719Z", - "contributors": [ - "ethertank" - ] - }, - "Web_development/Historical_artifacts_to_avoid": { - "modified": "2019-03-23T23:38:29.789Z", - "contributors": [ - "teoli", - "navid-emami" - ] - }, - "توسعه_وب": { - "modified": "2019-03-24T00:12:08.783Z", - "contributors": [ - "teoli", - "RamtinA" - ] - } -} \ No newline at end of file diff --git a/files/fa/archive/add-ons/index.html b/files/fa/archive/add-ons/index.html deleted file mode 100644 index d0ae6e7666..0000000000 --- a/files/fa/archive/add-ons/index.html +++ /dev/null @@ -1,69 +0,0 @@ ---- -title: Add-ons -slug: Archive/Add-ons -tags: - - Add-ons - - Archive - - Extensions - - NeedsTranslation - - TopicStub -translation_of: Archive/Add-ons ---- -
{{AddonSidebar}}
- -

Archived add-ons documentation.

- -
-
Add-on SDK
-
Using the Add-on SDK, you can create Firefox add-ons. You can use various standard Web technologies: JavaScript, HTML, and CSS, to create the add-ons. The SDK includes JavaScript APIs, which you can use to create add-ons and tools for creating, running, testing, and packaging add-ons.
-
bookmarks.export()
-
Exports bookmarks to an HTML bookmark file.
-
bookmarks.import()
-
Imports bookmarks from an HTML bookmark file.
-
Bootstrapped extensions
-
browser.bookmarks.export( function() {...} // optional function )
-
Code snippets
-
-
Creating custom Firefox extensions with the Mozilla build system
-
There is a wealth of material on creating extensions for Firefox. All of these documents currently assume, however, that you are developing your extension using XUL and JavaScript only. For complex extensions, it may be necessary to create components in C++ that provide additional functionality. Reasons why you might want to include C++ components in your extension include:
-
Embedded WebExtension
-
Starting in Firefox 51, you can embed a WebExtension in a classic bootstrapped extension or an Add-on SDK add-on. The embedded WebExtension's files are packaged inside the legacy add-on. The embedded WebExtension doesn't directly share its scope with the embedding legacy add-on, but they can exchange messages using the messaging functions defined in the runtime API.
-
Extension Etiquette
-
This article describes best practices when making extensions, including how to be kind to your users. It assumes that you are already familiar with Building an Extension.
-
Extension Packaging
-
By the end of 2017 WebExtensions will be the only supported add-on type in Firefox. To learn how to install a WebExtension for testing purposes, see Temporary Installation in Firefox. To learn how to package a WebExtension for distribution, see Publishing your WebExtension.
-
Extensions support in SeaMonkey 2
-
Starting with SeaMonkey 2 Alpha 1 SeaMonkey supports toolkit/-style extensions. These type of extensions have many advantages for both users and developers compared to the old xpinstall/-style extensions.
-
Firefox addons developer guide
-
The original document is in Japanese and distributed via the xuldev.org website. So there may be still some reference to the xuldev website (we want to host source code on MDC, not on xuldev), and to Japanese things (like some specific locales, which have been translated to French since non-latin characters are not well supported).
-
Hotfix Extension
-
This document has been moved to the Add-ons wiki.
-
How to convert an overlay extension to restartless
-
First off, what kind of add-on are we talking about here? Well, XUL overlays and windows, JSM files, chrome & resource mappings with localization, default preferences, but no XPCOM components of your own. Some of that will have to be replaced and the rest will need to be loaded differently.
-
Inline options
-
Firefox 7 supports a new syntax for defining extensions' preferences for both bootstrapped and traditional extensions. The user interface for the preferences defined with this new syntax appears in the extension's detail view in the Add-on Manager. This functionality originally appeared in Firefox mobile and is now available in Firefox on the desktop as well.
-
Install Manifests
-
An Install Manifest is the file an Add-on Manager-enabled XUL application (e.g. Firefox or Thunderbird) uses to determine information about an add-on as it is being installed. It contains metadata identifying the add-on, providing information about who created it, where more information can be found about it, which versions of what applications it is compatible with, how it should be updated, and so on.
-
Interaction between privileged and non-privileged pages
-
An easy way to send data from a web page to an extension is by using custom DOM events. In your extension's browser.xul overlay, write code which listens for a custom DOM event. Here we call the event MyExtensionEvent.
-
Legacy Add-ons
-
This section contains links to documentation for legacy technology for add-on development, including:
-
Legacy extensions for Firefox for Android
-
Add-ons that work with desktop Firefox do not automatically work in Firefox for Android:
-
Overlay extensions
-
This page contains links to documentation for the approach to developing extensions for Gecko-based applications which uses:
-
Performance best practices in extensions
-
One of Firefox's great advantages is its extreme extensibility. Extensions can do almost anything. There is a down side to this: poorly written extensions can have a severe impact on the browsing experience, including on the overall performance of Firefox itself. This article offers some best practices and suggestions that can not only improve the performance and speed of your extension, but also of Firefox itself.
-
Security best practices in extensions
-
This document is intended as a guide for developers to promote best practices in securing your extension. Your goal is to keep your users safe. Some items mentioned are strict guidelines, meaning that if you don't follow them then your add-on will not be approved on Mozilla add-ons. Other items are recommendations. The difference will be clearly flagged.
-
Setting up an extension development environment
-
This article provides suggestions for how to set up your Mozilla application for extension development. These details apply to Firefox, Thunderbird, and SeaMonkey (version 2.0 and above).
-
Tabbed browser
-
Here you should find a set of useful code snippets to help you work with Firefox's tabbed browser. The comments normally mark where you should be inserting your own code.
-
Techniques
-
-
Working with multiprocess Firefox
-
In older versions of Firefox, chrome code (including code inserted by extensions) and content run in the same operating system process. So extensions can access content directly:
-
- -

 

diff --git a/files/fa/archive/b2g_os/building_and_installing_firefox_os/index.html b/files/fa/archive/b2g_os/building_and_installing_firefox_os/index.html deleted file mode 100644 index 5d5cea9cd4..0000000000 --- a/files/fa/archive/b2g_os/building_and_installing_firefox_os/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Building and installing Firefox OS -slug: Archive/B2G_OS/Building_and_installing_Firefox_OS -translation_of: Archive/B2G_OS/Building_and_installing_B2G_OS ---- -
-

Because Firefox OS is currently under active development, and is in a prerelease state, the best way to ensure you have an up-to-date copy installed is to build and install it yourself. The articles listed on this page will guide you through building and installing Firefox OS on an emulator or compatible device, or the Gaia user interface in the Firefox browser.

-
- - - - - - - -
-

Getting and building Firefox OS

-
-
- Firefox OS build overview
-
- Building and installing Firefox OS requires a significant amount of time, network bandwidth, and computational power. This page outlines the goals of the build process and the steps of that process in order to help users along the way.
-
- Firefox OS build prerequisites
-
- Steps to take before you build Firefox OS for the first time.
-
- Preparing for your first Firefox OS build
-
- Before you can build Firefox OS, you need to clone the repository and configure your build. This article explains how to do that.
-
- Building Firefox OS
-
- How to build Firefox OS.
-
-
-
- Building Firefox OS for flame on OSX
-
- How to build building Firefox OS for flame on OSX.
-
-
-
- Porting Firefox OS
-
- Information about how to port Firefox OS to new devices.
-
-

View All...

-
-

Installing Firefox OS and/or Gaia

-
-
- Choosing how to run Gaia or Firefox OS
-
- You can use Gaia within Firefox, or you can run Firefox OS on a mobile device or in a desktop-based simulator. This guide will help you decide which is best for your needs.
-
- Using Gaia in Firefox
-
- How to use Gaia within a desktop Firefox browser.
-
- Using the Firefox OS desktop client
-
- A guide to running and using the Firefox OS desktop client; this simulates the Gaia environment in a desktop application. It's more accurate than running Gaia in Firefox but not as accurate as the emulators.
-
- Using the Firefox OS emulators
-
- A guide to building and using the Firefox OS emulators, and when to use which emulator.
-
- Installing Firefox OS on a mobile device
-
- How to install Firefox OS on a real mobile device.
-
- Dual boot of Firefox OS and Android on SGS2
-
- How to set up a Firefox OS/Android dual boot environment on a Samsung Galaxy S2.
-
-
-

 

diff --git a/files/fa/archive/b2g_os/index.html b/files/fa/archive/b2g_os/index.html deleted file mode 100644 index 025592fb19..0000000000 --- a/files/fa/archive/b2g_os/index.html +++ /dev/null @@ -1,170 +0,0 @@ ---- -title: B2G OS -slug: Archive/B2G_OS -translation_of: Archive/B2G_OS ---- -
-

فایرفاکس او اس یک سیستم عامل جدید تلفن همراه است، که توسط فایرفاکس ایجاد شده، و برپایه لینوکس و موتور Gecko است که این به فایرفاکس قدرت می‌دهد.

-
- -
-

فایرفاکس او اس به‌صورت متن باز است و از این‌رو جدا از تکنولوژی خاصی است، درحالی که هنوز به توسعه دهندگان این قدرت را می‌دهد تا محصولات عالی بسازند. به‌علاوه، به‌اندازه کافی انعطاف پذیر و توانا است تا کاربر نهایی را خوشحال کند.

- -

برای توسه دهندگان وب، مهم‌ترین بخش برای درک این است که کل رابط کاربری یک برنامه‌ی تحت وب است که قادر است دیگر برنامه‌های وب را نمایش و راه‌اندازی کند. هر تغییراتی که شما در رابط کاربری بدهید و هر برنامه‌ای که شما برای اجرا در فایرفاکس او اس بسازید برنامه‌های تحت وبی هستند که از HTML، CSS، و JavaScript استفاده می‌کنند، اگرچه دسترسی به سرویس‌ها و سخت افزارهای دستگاه قابل حمل را ارتقا داده است.

- -

از دیدگاه محصول، فایرفاکس او اس عنوان تجاری موزیلا است (و شرکای OEM ما) و از سرویس‌هایی که بر روی Boot to Gecko (B2G) اعمال شده‌است پشتیبانی می‌کند، این کدنام مهندسی سیتم عامل است. Boot to Gecko توسط تیمی از مهندسین داخل موزیلا به‌علاوه تعداد زیادی از شرکت کنندگان خارجی از کمیته‌های منبع باز/موزیلا توسعه داده شده است.

-
- -

- -
-

ساخت برنامه‌ها برای فایرفاکس او اس

- -

برای اطلاعاتی که امکان دارد جهت ساختن برنامه‌های تحت وب متن بازی که می‌توانند بر روی فایرفاکس او اس نصب شوند نیاز داشته باشید به مرکز برنامه‌های ما سری بزنید!

-
- -
-
-

راهنمای پلت فرم

- -

راهنمایی‌هایی برای توسعه دهندگان پلفت فرم در مورد چگونگی تطبیق و درست کار کردن اجزای مختلف پلت فرم فایرفاکس او اس با یکدیگر.

- - -
- -
-

ساختن و نصب کردن

- -

راهنمایی‌هایی که ساخت و نصب فایرفاکس او اس را روی شبیه ساز، دستگاه سازگار، یا شبیه‌ساز میزکار پوشش می‌دهد.

- - -
- -
-

توسعه تلفن‌ها

- -

اطلاعاتی در مورد توسعه تلفن‌های خاص، مانند افزایش سرعت، به‌روزرسانی، بازیابی، و خریدن.

- - -
-
- -
-
-

منابع خارجی

- - -
- - -
- -
-

توجه: ما کارهای درحال پیشرفت روی مرکز مستندات برنامه را روی صفحه  Apps documentation status خود نگه‌داری می‌کنیم. اگر شما می‌خواهید به مستندات مرکز برنامه کمک داوطلبانه کنید، لطفا به این صفحه نگاه کنید تا ببینید چه کاری لازم است انجام شود!

-
- -

- - - -
    -
  1. Introduction
  2. -
  3. Platform guide -
      -
    1. Architecture overview
    2. -
    3. Apps architecture
    4. -
    5. Gonk
    6. -
    7. Gecko
    8. -
    9. Gaia
    10. -
    11.  Security
    12. -
    13. Feature support chart
    14. -
    15. Settings list
    16. -
    -
  4. -
  5. Build and install -
      -
    1. Firefox OS build overview
    2. -
    3. Build prerequisites
    4. -
    5. Preparing for your first build
    6. -
    7. Building Firefox OS
    8. -
    9. Porting Firefox OS
    10. -
    11. Choosing how to run Gaia or Firefox OS
    12. -
    13. Using the Firefox OS desktop client
    14. -
    15. Using the Firefox OS emulators
    16. -
    17. Installing Firefox OS on a mobile device
    18. -
    19. Creating and applying Firefox OS update packages
    20. -
    21. Runtime tools
    22. -
    -
  6. -
  7. Developing Firefox OS -
      -
    1. Quickstart guide to Gaia development
    2. -
    3. Quickstart guide to B2G development
    4. -
    5. Build system primer
    6. -
    7. Firefox OS bugwork
    8. -
    9. Hacking Gaia
    10. -
    11. Gaia apps guide
    12. -
    13. Market customizations guide
    14. -
    15. Modifying the hosts file
    16. -
    17. Customization with the .userconfig file
    18. -
    19. Customizing the keyboard in Firefox OS apps
    20. -
    21. Customizing the b2g.sh script
    22. -
    23. Localizing Firefox OS
    24. -
    -
  8. -
  9. Developer phone guide -
      -
    1. Phone and device specs
    2. -
    3. Geeksphone
    4. -
    5. ZTE OPEN
    6. -
    7. Troubleshooting
    8. -
    -
  10. -
  11. Firefox OS release notes -
      -
    1. Firefox OS 1.3 for developers
    2. -
    3. Firefox OS 1.2 for developers
    4. -
    5. Firefox OS 1.1 for developers
    6. -
    7. Firefox OS 1.0.1 for developers
    8. -
    -
  12. -
  13. Testing
  14. -
  15. Debugging -
      -
    1. Developer settings for Firefox OS
    2. -
    3. Connecting a Firefox OS device to the desktop
    4. -
    5. Setting up to debug Firefox OS using Firefox developer tools
    6. -
    7. On-device console logging
    8. -
    9. Installing and using ADB
    10. -
    11. Taking screenshots
    12. -
    13. Using the Firefox OS app manager
    14. -
    15. Debugging out of memory errors on Firefox OS
    16. -
    17. Debugging B2G using gdb
    18. -
    19. Debugging B2G using Valgrind
    20. -
    -
  16. -
diff --git a/files/fa/archive/b2g_os/introduction/index.html b/files/fa/archive/b2g_os/introduction/index.html deleted file mode 100644 index 7876c7daeb..0000000000 --- a/files/fa/archive/b2g_os/introduction/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Firefox OS معرفی -slug: Archive/B2G_OS/Introduction -translation_of: Archive/B2G_OS/Introduction ---- -
-

   firefox os :

- -
-
سیستم عاملیست که امکان شکستن مرز ها و محدودیت ها رابا استفاده از شبکه برای گوشی های تلفن همراه فراهم می کند و امکان دسترسی جداگانه و با تفکیک به امکانات شبکه را حتی برای گوشی های ساده و ابتدایی فراهم میسازد . یک سیستم عامل موبایل متن باز است که مبتنی بر لینوکس
-
استانداردهای متن باز و
-
    :gecko  است gecko تکنولوژی
-
- -
-
  مارمولک  ! به نظر بنده این نام بخاطر ویژگی آن که سخت افزار را پیش از اجرای هر برنامه ای احاطه می کند انتخاب شده  - حامد نوری
-
-
این سیستم عامل امکان احیا و استفاده ازتوانا یی های  استفاده نشده ی گوشی را  فراهم می سازد وبا معرفی اپلیکیشن های تحت شبکه  به گوشی امکان دسترسی به قابلیت های سخت افزاری بلا استفادهو  استفاده دلخواه ها و مطابق با میل  و شایسته ی ! استفاده کننده عینیت می بخشد
-
موزیلا با در اختیار قرار دادن فرصت بررسی به توسعه دهندگان روی شبکه قصد دارد با بررسی نظراتشان به عالی ترین سطح سیستم عامل دست پیدا کند
-
-
- -

مخاطبین  این نوشتار

- -
-
-
مخاطب های این نوشته توسعه دهندگان شبکه و توسعه دهندگان و سازندگان گوشی های همراه است کسانی که می خواهند بدانند این سیتم عامل چگونه کار می کند  یا چگونه  می توانند به پروژه دسترسی داشته باشند و چگونه نرم افزار دلخواه خود را بسازند و بر گوشی خود نصب کنند .آن ها که قصد نوشتن نرم افزار خود و توزیع و گسترش آن روی شبکه را دارند آدرس های زیر توصیه می گردد
-
- -

 App Center و Marketplace Zone

- -

The basic promise of Firefox OS

- -

For Web/platform developers, the most important part to understand is that the entire user interface is a Web app, one that is capable of displaying and launching other Web apps. Any modifications you make to the user interface and any applications you create to run on Firefox OS will involve standard web technologies, albeit with enhanced access to the mobile device's hardware and services.

- -

From a product perspective, Firefox OS is Mozilla's branding and support services on top of Boot to Gecko (B2G), which is the operating system product's engineering codename. The user interface of Firefox OS is called Gaia, and includes the OS's default apps and system functions.

- -

To find out more about the platform architecture, go to our Platform guide.

- -

Current and future plans

- -

Firefox OS version 2.0 is currently in development, with 1.3/1.4 coming close to being a stable release build. There are many phones available in wild, both consumer and developer models. To find out more, read the following:

- - - -

Release cycle

- -

Since Firefox OS 1.2, the Firefox OS release cycle has been aligned as closely as possible with the Gecko and Firefox desktop version release cycle (6 weeks). A new Firefox OS version is released new every three months, so there will be a Firefox OS release for every two Gecko (Firefox browser core) releases.

- -

For example. Gecko 30 is bundled with Firefox OS 1.4, bypassing Gecko 29, and Gecko 32 is bundled with Firefox OS 2.0 (was 1.5), bypassing Gecko 31.

- -
-

Note: Check out our rapid release calendar to check the corresponding versions between Firefox OS and Gecko / Desktop Firefox, and read Firefox OS Release Milestones for more information on how our releases are managed.

-
- -

The community

- -

Boot to Gecko and Gaia are developed by teams of engineers inside Mozilla, plus, many external contributors from the wider Mozilla/open source community. If you want to talk to the community about any aspect of Firefox OS or Gaia development, a good place to start is our mailing lists and IRC channels, detailed in the below info box.

- -

To file bugs, use our Bugzilla system, and file bugs against the Firefox OS components. If you are not sure what component to file a bug against, feel free to ask.

- -
-

Note: If you have a question or a point to raise about a specific part of the B2G/Gaia source code (for example, a specific Gaia app), you can find more specific contact details on our Firefox Modules page.

-
- -

Building the operating system

- -

The B2G operating system is based on Mozilla's Gecko rendering engine, and sits on top of a Linux kernel and userspace hardware abstraction layer (HAL) called Gonk. The Gecko talked about here is basically the same Gecko used in Firefox for Android, or Windows, or Mac OS X, etc. Gonk is basically another porting target of Gecko.

- -

To learn how to build and install Firefox OS, consult our guide to Building and installing Firefox OS. You can find the B2G source code on Github.

- -

Contributing to Gaia

- -

To contribute to Gaia, you don't need much more than a solid knowledge of web development. To learn about getting Gaia up and running, consult our Quickstart guide to Gaia development.

- -

There are a number of useful tools available to you for debugging Gaia and other web apps running on Firefox OS. To learn about these and much more, consult our guide to Hacking Gaia.

- -

Developing apps for Firefox OS

- -

Firefox OS apps are built using standard web technologies — HTML, CSS, JavaScript, etc. — so if you are a web developer you will also have most of what you need. There are a few special JavaScript APIs to know about, which allow you to access device hardware and key features (for example camera, gyroscope, light sensor, contacts, system alarms and notifications...), but these are all well documented on our App Center and Web Platform pages.

- -
-

Note: If you are a beginner to building open web/Firefox OS apps, or if you want a concise account of the differences between web apps and traditional web pages, the best place to start is our apps Quickstart guide.

-
- -

Supporting cross-Firefox OS versions

- -

Note that when developing apps for Firefox OS, you need to bear in mind what platform versions will be available on the devices your customers will have (see our available phones table for a list.) Remember that it is not as simple to update phone platform software as it is desktop software — users tend to be at the mercy of the network providers. You therefore need to develop apps to support these versions. As an example, multiline Flexbox doesn't work on Firefox OS versions below 1.3, so you may need to use a simpler layout method or provide a fallback for older versions.

- -

This issue should go away soon, as more consumer Firefox OS devices appear, equipped with newer versions of Firefox OS out of the box.

- -
-

The current baseline platform we recommended developing for is Firefox OS 1.1.

-
- -
-

Note: MDN's web platform reference pages include browser/platform support information, plus you can find support information for more App-specific technologies on our Apps API Reference.

-
- -

diff --git a/files/fa/archive/b2g_os/platform/index.html b/files/fa/archive/b2g_os/platform/index.html deleted file mode 100644 index 69ed06717d..0000000000 --- a/files/fa/archive/b2g_os/platform/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: The Firefox OS platform -slug: Archive/B2G_OS/Platform -translation_of: Archive/B2G_OS/Platform ---- -
-

The Firefox OS platform consists of many components. While you don't need to understand its architecture in order to build applications that run on Firefox OS, if you're working on developing or porting the platform — or are simply curious — the following documentation may be of interest to you.

-
- - - - - - - -
-

Documentation about the Firefox OS platform

-
-
- Firefox OS architecture overview
-
- An overview of how Firefox OS is structured internally; this is primarily of interest to platform developers and people doing porting work.
-
- Firefox OS apps architecture
-
- An overview of the application model on Firefox OS.
-
- Gaia
-
- Documentation about Gaia, the user interface application for Firefox OS devices; this is a Web application running atop the Firefox OS software stack.
-
- Gonk
-
- Documentation about Gonk, the operating system layer underneath Gaia. This consists of a Linux kernel and a hardware abstraction layer to which Gecko communicates.
-
- Gecko
-
- Gecko is the layer of Firefox OS that provides the same open web standards implementation used by Firefox and Thunderbird, as well as many other applications.
-
-  Security
-
- Documentation about security in Firefox OS; this includes topics about security devices from every perspective: for app developers, device integrators, and so forth.
-
- Out of memory management on Firefox OS
-
- This article explains how low memory situations are managed on Firefox OS, using the low memory killer and low memory notifications.
-
- Feature support chart
-
- A chart of which features are available in which types of Firefox OS builds.
-
- Firefox OS settings list
-
- A list of common setting names that can be used with the Settings API.
-
-

View All...

-
-

Getting help from the community

-

If you're working with Firefox OS, or developing applications you'd like to run on Firefox OS devices, there are community resources to help you!

-
    -
  • Consult the Boot to Gecko project forum: {{ DiscussionList("dev-b2g", "mozilla.dev.b2g") }}
  • -
-
    -
  • Ask your question on Mozilla's Boot to Gecko IRC channel: #b2g
  • -
-

Don't forget about the netiquette...

-
- - -

Resources

- -
-

 

diff --git a/files/fa/archive/b2g_os/quickstart/index.html b/files/fa/archive/b2g_os/quickstart/index.html deleted file mode 100644 index a5bb4fa406..0000000000 --- a/files/fa/archive/b2g_os/quickstart/index.html +++ /dev/null @@ -1,51 +0,0 @@ ---- -title: Build -slug: Archive/B2G_OS/Quickstart -tags: - - Apps - - NeedsTranslation - - Quickstart - - TopicStub -translation_of: Archive/B2G_OS/Quickstart ---- -
-

Quickstart information on coding open web apps.

-
-
-
- Introduction to open web apps
-
- What are open web apps? How they differ from regular web pages? Why is this significant? This article aims to answer these questions and more.
-
- Your first app
-
- This article takes you through the basic steps and additional knowledge on top of regular web development required to create installable open web apps.
-
- Introduction to Firefox OS
-
- An introduction to Firefox OS, Mozilla's new open web app-based mobile platform.
-
- Introduction to manifests
-
- An FAQ designed to answer any questions you may have about manifests, hosting apps, origins, and other such topics.
-
- App development for web developers
-
- If you're a web developer, how do open web apps differ from what you're used to? This article explains all.
-
- App development for mobile developers
-
- If you're a native mobile application developer, what advantages can open web apps bring to you, and how do they differ from what you are used to? Here are some ideas.
-
- Developing app functionality
-
- This page talks about the kinds of different functionality that you might want to build into your apps, with links to further information.
-
- Payments
-
- How do you build functionality to make people pay for installing your open web apps? Here is the lowdown.
-
- App tools
-
- Last for this section, we provide some links to more information on the tools available to help you develop great open web apps.
-
diff --git a/files/fa/archive/b2g_os/quickstart/your_first_app/index.html b/files/fa/archive/b2g_os/quickstart/your_first_app/index.html deleted file mode 100644 index b5caaf3f87..0000000000 --- a/files/fa/archive/b2g_os/quickstart/your_first_app/index.html +++ /dev/null @@ -1,265 +0,0 @@ ---- -title: Your first app -slug: Archive/B2G_OS/Quickstart/Your_first_app -translation_of: Archive/B2G_OS/Quickstart/Your_first_app ---- -
-

ote: The Quickstart section has been updated with a new, more focused Quickstart article, which replaces all the previous Quickstart articles. We hope you'll find this more useful, and a quicker learning experience than the older set of articles.

-
- -
-
-

Open web apps give web developers exactly what they've wanted for years: a cross-platform environment dedicated to installable apps created with just HTML, CSS, and JavaScript — with Firefox OS being the first dedicated open web apps platform. This guide aims to get you up and running quickly with a basic architecture and build instructions so that you can create the next great app!

-
- -

If you'd like to follow along with this guide, you can download our quick start app template. Find more out about what this contains by reading our Apps template guide.

- -

App Structure

- -

Packaged vs. Hosted Apps

- -

There are two types of open web apps: packaged and hosted. Packaged apps are essentially zip files containing all application assets: HTML, CSS, JavaScript, images, manifest, etc. Hosted apps are run from a server at a given domain, just like a standard website. Both app types require a valid manifest. When it comes time to list your app on the Firefox Marketplace, you will either upload your app as a zip file or provide the URL to where your hosted app lives.

- -
-

{{EmbedYouTube("Q7x-B13y33Q")}}

- -
-

Made in partnership with Treehouse: Check them out!

-
-
- -

For the purposes of this guide, you'll create a hosted app which will live at your localhost address. Once your app is ready to list on the Firefox Marketplace, you can make the decision to bundle it as a packaged app or launch it as a hosted app.

- -

App Manifests

- -

Every Firefox app requires a manifest.webapp file at the app root. The manifest.webapp file provides important information about the app, such as version, name, description, icon location, locale strings, domains the app can be installed from, and much more. Only the name and description are required. The simple manifest included within the app template is similar to the following:

- -
{
-  "version": "0.1",
-  "name": "Open Web App",
-  "description": "Your new awesome Open Web App",
-  "launch_path": "/app-template/index.html",
-  "icons": {
-    "16": "/app-template/app-icons/icon-16.png",
-    "48": "/app-template/app-icons/icon-48.png",
-    "128": "/app-template/app-icons/icon-128.png"
-  },
-  "developer": {
-    "name": "Your Name",
-    "url": "http://yourawesomeapp.com"
-  },
-  "locales": {
-    "es": {
-      "description": "Su nueva aplicación impresionante Open Web",
-      "developer": {
-        "url": "http://yourawesomeapp.com"
-      }
-    },
-    "it": {
-      "description": "La tua nuova fantastica Open Web App",
-      "developer": {
-        "url": "http://yourawesomeapp.com"
-      }
-    }
-  },
-  "default_locale": "en"
-}
- -
-

{{EmbedYouTube("dgAUgHQOm8M#t")}}

- -
-

Made in partnership with Treehouse: Check them out!

-
-
- -

 

- -

A basic manifest is all you need to get started. For more details about manifests, read App Manifest.

- -

App Layout & Design

- -

Responsive design has become increasingly important as more screen resolutions become standard on different devices. Even if the main target of your app is mobile platforms such as Firefox OS, other devices will likely have access to it as well. CSS media queries allow you to adapt layout to device, as shown in this skeleton CSS example:

- -
/* The following are examples of different CSS media queries */
-
-/* Basic desktop/screen width sniff */
-@media only screen and (min-width : 1224px) {
-  /* styles */
-}
-
-/* Traditional iPhone width */
-@media
-  only screen and (-webkit-min-device-pixel-ratio : 1.5),
-  only screen and (min-device-pixel-ratio : 1.5) {
-  /* styles */
-}
-
-/* Device settings at different orientations */
-@media screen and (orientation:portrait) {
-  /* styles */
-}
-@media screen and (orientation:landscape) {
-  /* styles */
-}
- -

There are many JavaScript and CSS frameworks available to aid in responsive design and mobile app development (Bootstrap, etc.) Choose the framework(s) that best fit your app and development style.

- -

Web APIs

- -

JavaScript APIs are being created and enhanced as quickly as devices are. Mozilla's WebAPI effort brings dozens of standard mobile features to JavaScript APIs. A list of device support and status is available on the WebAPI page. JavaScript feature detection is still the best practice, as shown in the following example:

- -
// If this device supports the vibrate API...
-if('vibrate' in navigator) {
-    // ... vibrate for a second
-    navigator.vibrate(1000);
-}
- -

In the following example, the display style of a <div> is modified based on changes in the battery state of the device:

- -
// Create the battery indicator listeners
-(function() {
-  var battery = navigator.battery || navigator.mozBattery || navigator.webkitBattery,
-      indicator, indicatorPercentage;
-
-  if(battery) {
-    indicator = document.getElementById('indicator'),
-    indicatorPercentage = document.getElementById('indicator-percentage');
-
-    // Set listeners for changes
-    battery.addEventListener('chargingchange', updateBattery);
-    battery.addEventListener('levelchange', updateBattery);
-
-    // Update immediately
-    updateBattery();
-  }
-
-  function updateBattery() {
-    // Update percentage width and text
-    var level = (battery.level * 100) + '%';
-    indicatorPercentage.style.width = level;
-    indicatorPercentage.innerHTML = 'Battery: ' + level;
-    // Update charging status
-    indicator.className = battery.charging ? 'charging' : '';
-  }
-})();
- -

In the code sample above, once you confirm that the Battery API is supported, you can add event listeners for chargingchange and levelchange to update the element's display. Try adding the following to the quickstart template, and see if you can get it working.

- -

Check the WebAPI page frequently to keep up to date with device API statuses.

- -

Install API functionality

- -

In our sample quickstart app template, we've implemented an install button that you can click when viewing the app as a standard Web page, to install that site on Firefox OS as an app. The button markup is nothing special:

- -
<button id="install-btn">Install app</button>
- -

This button's functionality is implemented using the Install API (see install.js):

- -
var manifest_url = location.href + 'manifest.webapp';
-
-function install(ev) {
-  ev.preventDefault();
-  // define the manifest URL
-  // install the app
-  var installLocFind = navigator.mozApps.install(manifest_url);
-  installLocFind.onsuccess = function(data) {
-    // App is installed, do something
-  };
-  installLocFind.onerror = function() {
-    // App wasn't installed, info is in
-    // installapp.error.name
-    alert(installLocFind.error.name);
-  };
-};
-
-// get a reference to the button and call install() on click if the app isn't already installed. If it is, hide the button.
-var button = document.getElementById('install-btn');
-
-var installCheck = navigator.mozApps.checkInstalled(manifest_url);
-
-installCheck.onsuccess = function() {
-  if(installCheck.result) {
-    button.style.display = "none";
-  } else {
-    button.addEventListener('click', install, false);
-  };
-};
-
- -

Let's run through briefly what is going on:

- -
    -
  1. We get a reference to the install button and store it in the variable button.
  2. -
  3. We use navigator.mozApps.checkInstalled to check whether the app defined by the manifest at http://people.mozilla.com/~cmills/location-finder/manifest.webapp is already installed on the device. This test is stored in the variable installCheck.
  4. -
  5. When the test is successfully carried out, its success event is fired, therefore installCheck.onsuccess = function() { ... } is run.
  6. -
  7. We then test for the existence of installCheck.result using an if statement. If it does exist, meaning that the app is installed, we hide the button. An install button isn't needed if it is already installed.
  8. -
  9. If the app isn't installed, we add a click event listener to the button, so the install() function is run when the button is clicked.
  10. -
  11. When the button is clicked and the install() function is run, we store the manifest file location in a variable called manifest_url, and then install the app using navigator.mozApps.install(manifest_url), storing a reference to that installation in the installLocFind variable. You'll notice that this installation also fires success and error events, so you can run actions dependent on whether the install happened successfully or not.
  12. -
- -

You may want to verify the implementation state of the API when first coming to Installable web apps.

- -
-

Note: Installable open web apps have a "single app per origin" security policy; basically, you can't host more than one installable app per origin. This makes testing a bit more tricky, but there are still ways around this, such as creating different sub-domains for apps, testing them using the Firefox OS Simulator, or testing the install functionality on Firefox Aurora/Nightly, which allows you to install installable web apps on the desktop. See FAQs about apps manifests for more information on origins.

-
- -

WebRT APIs (Permissions-based APIs)

- -

There are a number of WebAPIs that are available but require permissions for that specific feature to be enabled. Apps may register permission requests within the manifest.webapp file like so:

- -
// New key in the manifest: "permissions"
-// Request access to any number of APIs
-// Here we request permissions to the systemXHR API
-"permissions": {
-    "systemXHR": {}
-}
- -

The three levels of permission are as follows:

- - - -

For more information on app permission levels, read Types of packaged apps. You can find out more information about what APIs require permissions, and what permissions are required, at App permissions.

- -
-

It's important to note that not all Web APIs have been implemented within the Firefox OS Simulator.

-
- -

Tools & Testing

- -

Testing is incredibly important when supporting mobile devices. There are many options for testing installable open web apps.

- -

Firefox OS Simulator

- -

Installing and using the Firefox OS Simulator is the easiest way to get up and running with your app. After you install the simulator, it is accessible from the Tools -> Web Developer -> Firefox OS Simulator menu. The simulator launches with a JavaScript console so you can debug your application from within the simulator.

- -

App Manager

- -

The new kid on the block with regards to testing tools is called the App Manager. This tool allows you to connect desktop Firefox to a compatible device via USB (or a Firefox OS simulator), push apps straight to the device, validate apps, and debug them as they run on the device.

- -

Unit Testing

- -

Unit tests are extremely valuable when testing on different devices and builds. jQuery's QUnit is a popular client-side testing utility, but you can use any set of testing tools you'd like.

- -

Installing Firefox OS on a Device

- -

Since Firefox OS is an open source platform, code and tools are available to build and install Firefox OS on your own device. Build and installation instructions, as well as notes on what devices it can be installed on, can be found on MDN.

- -

Dedicated Firefox OS developer preview devices are also available: read our Developer preview phone page for more information.

- -

App Submission and Distribution

- -

Once your app is complete, you can host it yourself like a standard web site or app (read Self-publishing apps for more information), or it can be submitted to the Firefox Marketplace. Your app's manifest will be validated and you may choose which devices your app will support (e.g. Firefox OS, Desktop Firefox, Firefox Mobile, Firefox Tablet). Once validated, you can add additional details about your app (screenshots, descriptions, price, etc.) and officially submit the app for listing within the Marketplace. Once approved, your app is available to the world for purchase and installation.

- -

More Marketplace & Listing Information

- -
    -
  1. Submitting an App to the Firefox OS Marketplace
  2. -
  3. Marketplace Review Criteria
  4. -
  5. App Submission Video Walkthrough
  6. -
-
diff --git a/files/fa/archive/b2g_os/using_the_app_manager/index.html b/files/fa/archive/b2g_os/using_the_app_manager/index.html deleted file mode 100644 index c323990683..0000000000 --- a/files/fa/archive/b2g_os/using_the_app_manager/index.html +++ /dev/null @@ -1,264 +0,0 @@ ---- -title: Using the App Manager -slug: Archive/B2G_OS/Using_the_App_Manager -translation_of: Archive/B2G_OS/Using_the_App_Manager ---- -
-

The App Manager is a new tool available in Firefox for Desktop, which provides a number of useful tools to help you test, deploy and debug HTML5 web apps on Firefox OS phones and the Firefox OS Simulator, directly from your browser.

- -

The App Manager is for developers targeting Firefox OS 1.2 or later. If you're developing apps for Firefox OS 1.1, then you should check out the documentation for the Firefox OS 1.1 Simulator instead.

-
- -

{{EmbedYouTube("z1Bxg1UJVf0")}}

- -

The App Manager is composed of:

- - - -

Quick setup

- -

This section is designed to get you up and running as soon as possible; if you need some more detail please skip forward to the {{ anch("Device and system configuration") }} section and start reading from there.  Also see the {{ anch("Troubleshooting") }} section for help if you are having trouble.

- -
    -
  1. Make sure you have Firefox Desktop 26+ installed
  2. -
  3. Open the App Manager (in the URL bar, type about:app-manager)
  4. -
  5. If you don't have a real device: -
      -
    1. Install the Firefox OS Simulator
    2. -
    3. In App Manager's bottom toolbar, click on Start Simulator, then click on the name of the installed simulator, which should appear there.
    4. -
    -
  6. -
  7. If you have a real device: -
      -
    1. Make sure your device is running Firefox OS 1.2+
    2. -
    3. On Windows, make sure to install the drivers provided by your phone manufacturer
    4. -
    5. In the Settings of your device, disable Screen Lock (Settings > Screen Lock) and enable Remote Debugging (Settings > Device information > More information > Developer)
    6. -
    7. Install the ADB Helper add-on in Firefox Desktop
    8. -
    9. Connect your device to your machine via a USB cable
    10. -
    11. You should see the name of your device in the App Manager's bottom bar. Click on it.
    12. -
    -
  8. -
  9. The bottom bar should show "Connected to: xxx"
  10. -
  11. Click on the Apps panel and add an app (packaged or hosted)
  12. -
  13. The Refresh button validates your app and installs it on the Simulator/Device
  14. -
  15. The Debug button connects the developer tools to the running app
  16. -
  17. See the {{ anch("Troubleshooting") }} section for help if you are having trouble
  18. -
- -

Device and system configuration

- -

The first thing you'll need to do when using the App Manager is make sure your system and phone are set up correctly. This section will run through all the steps required.

- -

Firefox 1.2+ required

- -

Make sure your device is running Firefox OS 1.2/Boot2Gecko 1.2 or higher. To check which version of Firefox OS the device is runing, go to Settings > Device Information > Software.

- -

If you don't have a high enough version installed, depending on what phone you have you will need to either install an available nightly build of Firefox 1.2+, or configure and build it yourself from source.

- -

Builds available:

- - - -
-

Note: To build your own Firefox OS 1.2+ distribution, follow the instructions located at Building and installing Firefox OS, starting with Firefox OS build prerequisites.

-
- -

Remote debugging

- -

Next, you need to enable remote debugging in Firefox OS. To do so, go to Settings > Device information > More information > Developer and check the Remote Debugging checkbox.

- -

ADB or ADB helper

- -

The process uses the Android Debug Bridge (ADB) to handle the device-computer connection and communication. There are two options for running ADB:

- - - -
-

Note: There's no need to run this command if you installed the ADB Helper Add-on.

-
- -

Connecting your device to the App Manager

- -

With all your configuration done, it's now time to plug your device into your computer and start the App Manager:

- -
    -
  1. Plug the device into your computer via USB.
  2. -
  3. Disable Screen lock on your device by going to Settings > Screen Lock and unchecking the Lock Screen checkbox. This is a good idea because when the screen gets locked, the phone connection gets lost, meaning it is no longer available for debugging.
  4. -
  5. Start the App Manager — In Firefox Desktop select the Tools > Web Developer > App Manager menu option, or type about:app-manager in the URL bar.
  6. -
  7. At the bottom of the App Manager tab, you will see a connection status bar (see screenshot below). You should be able to connect your device by clicking the "Connect to localhost:6000" button.
  8. -
  9. If this works successfully, a prompt should appear on your device: "An incoming request to permit remote debugging connection was detected. Allow connection?". Tap the OK button (You may also have to press the power button on the phone so you can see the prompt.) The connection status bar should update to say "Connected to B2G", with a Disconnect button available to press if you want to cancel the connection.
  10. -
- -

- -
-

Note: The other controls in the connection status bar allow you to connect a simulator to the App Manager, which we cover in the next section, below, and change the port that the connection happens on. If you change the port, you'll also need to enable port forwarding for this port as well, as instructed in the {{anch("Enable port forwarding")}} section, above.

-
- -

Using a Firefox OS Simulator Add-on

- -

If you haven't got a real device available to use with App Manager, you can still try it out using a Firefox OS Simulator Add-on. To start off, install the simulator with the following button (multiple versions are available; you are advised to install them all, for maximum flexibility):

-

Install Simulator

- - -

Once you've installed the simulator(s), you need to go to about:app-manager to see the connection status bar at the bottom of the App Manager tab, and click the "Start simulator" button. At least three buttons will appear:

- - - -

Apps panel

- -

Now everything is working, let's review the functionality available inside the App Manager, starting with the Apps panel. From here, you can import an existing app to push onto your device and debug:

- - - -

Information about your app should appear on the right hand side of the window, as seen below:

- -

- -

Manifest editor

- -

From Firefox 28 onwards, the Apps Panel includes an editor for the app manifest:

- -

- -

Debugging

- -

Clicking on "Update" will update (install) the app on the device. Clicking on "debug" will connect a toolbox to the app, allowing you to debug its code directly:

- -

- -
-

Note: You'll enjoy playing around with the toolbox — try altering the DOM, CSS etc. and you'll see the updates reflected on the device in realtime. Such updates will be saved on the installed app code; you'll see them next time you open the app on the device.

-
- -

Before Firefox 28, the tools are launched in a separate window. From Firefox 28 onwards, the tools are launched in a separate tab in the App Manager itself, alongside the Apps and Device tabs. The tab is given your app's icon so it's easy to find:

- -

- -

Errors

- -

If an app was not added successfully — for example if the URL was incorrect, or you selected a packaged app folder — an entry will be added to the page for this app, but this will include error information.

- -

- -

You can also delete an app from this view, by hovering over the App name/description on the left of the window, and pressing the "X" button that appears in each case. This however doesn't remove the app from the device. To do that you need to manually remove the app using the device itself.

- -

Device panel

- -

The Device tab displays information about the connected device. From the "Installed Apps" window, apps on the device can be started and debugged.

- -

- -
-

Note: Certified Apps are not listed by default. See how to debug certified apps.

-
- -

The "Permissions" window shows the required priviledges for different Web APIs on the current device:

- -

- -

Finally, you can take a screenshot of the current device display by clicking the "Screenshot" button. The screenshot appears in a new tab on Firefox, and from there you can save or discard it as you wish.

- -

Debugging Certified Apps

- -

Currently only devices running a development build of Firefox OS 1.2+ are capable of debugging certified apps. If you have a development build, you can enable certified app debugging by changing the pref devtools.debugger.forbid-certified-apps to false in your profile. To do this, follow the steps below:

- -
    -
  1. -

    On your computer, enter the following command in Terminal/console to enter your device's filesystem via the shell:

    - -
    adb shell
    - -

    Your prompt should change to root@android.

    -
  2. -
  3. -

    Next, stop B2G running using the following command:

    - -
    stop b2g
    -
  4. -
  5. -

    Navigate to the following directory:

    - -
    cd /data/b2g/mozilla/*.default/
    -
  6. -
  7. -

    Here, update the prefs.js file with the following line:

    - -
    echo 'user_pref("devtools.debugger.forbid-certified-apps", false);' >> prefs.js
    -
  8. -
  9. -

    After you've finished editing and saving the file, start B2G again using the following command:

    - -
    start b2g
    -
  10. -
  11. -

    Exit the android filesystem using the exit command; this will return you to your normal terminal prompt.

    -
  12. -
  13. -

    Next, reconnect to the App Manager and you should see certified apps appear for debugging.

    -
  14. -
- -
-

Note: If you want to add this preference to your Gaia build you can run make DEVICE_DEBUG=1 reset-gaia.

-
- -

Running custom builds in the App Manager

- -

You can run custom B2G Desktop and Gaia builds in the App Manager via the simulator. Read Running custom Firefox OS/Gaia builds in the App Manager for more details.

- -

Troubleshooting

- -

If the device is not recognized:

- - - -

Can't connect your device to the App Manager or start the simulator? Let us know or file a bug.

diff --git a/files/fa/archive/index.html b/files/fa/archive/index.html deleted file mode 100644 index 08498cb2c9..0000000000 --- a/files/fa/archive/index.html +++ /dev/null @@ -1,18 +0,0 @@ ---- -title: Archive of obsolete content -slug: Archive -translation_of: Archive ---- -

Here at MDN, we try to avoid outright deleting content that might be useful to people targeting legacy platforms, operating systems, and browsers. Perhaps your target audience is people that are using older hardware, for example, and can't upgrade to the latest and greatest browsers. Or for "reasons," your company is required to use very old software and you need to build Web content that runs on that software. Or perhaps you're just curious about the history of an obsolete feature or API, and how it worked.

- -

There are many reasons older documentation can be useful. So, we've established this area into which we can archive older documentation. Material in this Archived content zone should not be used for building new Web sites or apps for modern browsers. It's here for historical reference only.

- -
-

Note to writers: We need to try to keep the subpages here organized instead of all dumped into one large folder. Try to create subtrees for categories of material. Also, only move pages here that are extremely obsolete. If anyone might realistically need the information in a living product, it may not be appropriate to move it here. In general, it may be best to discuss it in the MDN Web Docs chat room before moving content here.

-
- -

{{SubpagesWithSummaries}}

- - - -

{{ListSubpages("/fa/docs/Archive", 2, 0, 1)}}

diff --git a/files/fa/archive/mozilla/index.html b/files/fa/archive/mozilla/index.html deleted file mode 100644 index 4fd902cdfe..0000000000 --- a/files/fa/archive/mozilla/index.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Archived Mozilla and build documentation -slug: Archive/Mozilla -tags: - - Archive -translation_of: Archive/Mozilla ---- -

These articles are archived, obsolete documents about Mozilla, Gecko, and the process of building Mozilla projects.

- -

{{SubpagesWithSummaries}}

diff --git a/files/fa/archive/mozilla/persona/index.html b/files/fa/archive/mozilla/persona/index.html deleted file mode 100644 index 6c0c152f34..0000000000 --- a/files/fa/archive/mozilla/persona/index.html +++ /dev/null @@ -1,176 +0,0 @@ ---- -title: Persona -slug: Archive/Mozilla/Persona -translation_of: Archive/Mozilla/Persona ---- -
ساده، ثبت نام منفرد در حریم خصوصی: اجازه دهید کاربران وب سایت شما با استفاده از آدرس ایمل خود در سایت شما ثبت نام کنند، و خودرا از مدیریت کلمه‌های رمز آزاد سازید.
- -
-

موزیلا شخصی یک سیستم ورود مستقل از مرورگر برای وب است، که برای پیاده سازی و توسعه راحت است. برروی تمامی مرورگرهای اصلی کار می‌کند، و همین امروز می توانید شروع کنید.

- -

چرا باید از موزیلا شخصی در وب سایت خود استفاده کنید؟

- -
    -
  1. موزیلا شخصی به‌طور کامل کلمه‌های رمز مخصوص سایت را حذف می‌کند، کاربرها و وب سایت‌ها را از بار سنگین ساخت، مدیریت، و ذخیره امن کلمه‌های رمز آزاد می‌سازد.
  2. -
  3. موزیلا شخصی برای استفاده آسان است. فقط با دو کلیک یک کاربر شخصی می‌تواند در سایت مثل Voost ثبت نام کند، سختی ایجاد حساب کاربری را دور می‌زند.
  4. -
  5. موزیلا شخصی برای پیاده سازی ساده است. توسعه دهندگان در یک بعدازظهر می توانندموزیلا شخصی را به یک سایت اضافه کنند.
  6. -
  7. هیچ قفلی وجود ندارد. توسعه دهندگان یک ایمیل تایید از همه کاربرانشان دریافت می‌کنند، و کاربران از هر آدرس پست الکترونیکی می‌توانند استفاده کنند.
  8. -
- -

به‌علاوه، موزیلا شخصی بهتر می‌شود: آن برپایه پروتکل باز، غیرمتمرکز، که طراحی شده تا به آن اجازه بدهد با مرورگرها به‌صورت مستقیم یکپارچه شود و به‌صورت محلی از فراهم کنندگان پست الکترونیک پشتیبانی کنند. سایت‌هایی که امروزه موزیلا شخصی را پیاده سازی می‌کنند به‌صورت خودکار این تجربه را کسب می‌کنند، بدون نیاز به تغیر هیچ کدی.

-
- -
-
-

استفاده از موزیلا شخصی در سایت خودتان

- - - -
-

شروع به‌کار

- -
-
چرا شخصی؟
-
نکات خاص در مورد موزیلا شخصی که با دیگر سیستم‌های شناسایی و تشخیص هویت مقایشه شده است.
-
راه‌اندازی سریع
-
نمایش سریع چگونه موزیلا شخصی را به سایت خودتان اضافه کنید.
-
- -

مرجع API

- -
-
The navigator.id API
-
API مرورگر.
-
مرجع API تصدیق
-
API تصدیق راه دور.
-
-
- -
-

راهنمایی‌ها

- -
-
ملاحظه‌های امنیتی
-
تمرین‌ها و تکنیک‌هایی برای اطمینان از این‌که موزیلا شخصی امن است.
-
سازگاری مرورگر
-
یادبگیرید دقیقا کدام مرورگر از موزیلا شخصی پشتیبانی می‌کند.
-
بین‌المللی کردن
-
یادبگیرید چطور موزیلا شخصی با ربان‌های مختلف رفتار می‌کند.
-
راهنمای مجری‌ها
-
نکاتی از سایت‌هایی که پشتیبانی از موزیلا شخصی را اضافه کرده‌اند.
-
-
- -
-

منابع

- -
-
کتاب‌خانه‌ها و متّصل شونده‌ها
-
پیدا کردن یک کتابخانه برای زبان برنامه نویسی محبوب، محیط کاری وب، بلاگ، یا سیستم مدیریت محتوی شما.
-
کتاب آشپزی موزیلا شخصی
-
نمونه کدهای منبع برای سایت‌های موزیلا شخصی. شامل قطعه کد‌های کوچک در C# (MVC3)، PHP، Node.JS، و نمونه‌های بیشتر.
-
راهنماهای رابط کاربر
-
چطور ثبت نام در موزیلا شخصی را به کاربران خود نمایش دهید.
-
-
-
- -
-

تبدیل شدن به یک ارایه دهنده هویت

- -

اگر شما یک ارایه دهنده سرویس پست الکترونیک یا هویت هستید، لینک‌های زیر را برای تبدیل شدن به یک ارایه دهنده هویت دنبال کنید.

- -
-
-
-
مرور IdP
-
یک مرور سطح بالا از ارایه دهنده هویت موزیلا شخصی.
-
-
- -
-
-
پیاده سازی یک IdP
-
یک راهنمای مفصل برای جزییات تکنیکی تبدیل شدن به یک IdP.
-
-
- -
-
-
.well-known/browserid
-
مرور فایل .well-known/browserid ، که IdP ها برای اعلان پشتیبانی از پروتکل استفاده می‌کنند.
-
-
-
- -
-

پروژه موزیلا شخصی

- -
-
-
-
واژه نامه
-
اصطلاحات تعریف شده موزیلا شخصی و BrowserID.
-
پرسش‌های متداول
-
پاسخ به سوالات متداول.
-
مرور پروتکل
-
مرور تکنیکی سطح متوسط از زیر ساخت پروتکل BrowserID.
-
-
- -
-
-
رمزنگاری
-
نگاهی به مفهوم رمز نویسی پشت پرده موزیلا شخصی و BrowserID.
-
تنظیمات
-
جزییات فنی بیشتر در اینجا وحود دارند.
-
-
- -
-
-
وب سایت موزیلا شخصی
-
برای بدست آوردن موزیلا شخصی، ما سه سرویس را در https://login.persona.org میزبانی می‌کنیم: ارایه دهنده هویت مجدد، پیاده سازی API‌های {{domxref("navigator.id")}} ، و سرویس تصدیق هویت.
-
کد منبع موزیلا شخصی
-
کد موزیلا شخصی بر روی GitHub. خوش آمدید!
-
-
-
- -

- - - -
    -
  1. استفاده از موزیلا شخصی در یک وب سایت - -
      -
    1. چرا باید از موزیلا شخصی استفاده کنیم؟
    2. -
    3. شروع کنید
    4. -
    5. Tips for implementing Persona
    6. -
    7. Security considerations
    8. -
    9. Browser compatibility
    10. -
    11. Internationalization
    12. -
    13. The navigator.id API
    14. -
    15. The remote verification API
    16. -
    17. کتابخانه ها و افزونه ها
    18. -
    19. User interface guidelines
    20. -
    -
  2. -
  3. Becoming an Identity Provider -
      -
    1. IdP Overview
    2. -
    3. Implementing an IdP
    4. -
    5. .well-known-browserid format
    6. -
    -
  4. -
  5. پروژه موزیلا شخصی -
      -
    1. Glossary
    2. -
    3. سوالات متداول
    4. -
    5. خدمات هاست موزیلا شخصی
    6. -
    7. Protocol overview
    8. -
    9. Cryptography
    10. -
    -
  6. -
diff --git a/files/fa/archive/mozilla/persona/nooshin/index.html b/files/fa/archive/mozilla/persona/nooshin/index.html deleted file mode 100644 index 81afb73107..0000000000 --- a/files/fa/archive/mozilla/persona/nooshin/index.html +++ /dev/null @@ -1,59 +0,0 @@ ---- -title: Why Persona for Mozilla? -slug: Archive/Mozilla/Persona/nooshin -translation_of: Archive/Mozilla/Persona/Why_Persona ---- -
- Persona is an openly distributed, cross-browser identity system providing a solution to the traditional password model. It addresses the usability deficiencies that plague other privacy-related systems such as OpenID, without resorting to a centralized infrastructure such as Facebook Connect.
-
-  
-
- The current approach for establishing and managing user names and passwords is tedious, inefficient, and unsecure. Users must create and remember complex passwords for each site and service. Sites then must securely encrypt and store passwords to prevent the leaking of sensitive information. The prevention and negation of security leaks is the primary reason for the use of Persona, but the flexibility of its systems outclasses most standard identity security systems.
-
-  
-
-
- Note: For more detailed information about Persona and its functions see What is Persona and how does it work?
-
-

Persona eliminates the need for per-site passwords

-

Persona utilizes a safe, two-click system built on top of public-key cryptography for logging in to websites. The user's browser generates a cryptographic affirmation of identity that expires after a few minutes and is only valid on one site. By avoiding passwords, users do not need to worry about remembering several distinct passwords and need no longer be concerned with unsecure access to their password. This quick and easy sign-in process eliminates the current inefficiencies of traditional account registration and allows users to quickly establish accounts on websites.

-

Persona uses email addresses as identities

-
-
-
-
- Persona's system relies on email addresses as their key component because of email's inherent versatile and private nature. The pre-existing infrastructure works very well from not only a design perspective but an ideal perspective of openly maintained and safe transfer of identity across the Internet.
-
-
-
-

 

-

Benefits for the user

- -
-

Advantages for developers

-
- -
-

How Persona is different from other providers of single sign-on

-
-

Persona protects privacy, provides the user with control, and embellishes choice in a way that other security providers can't. Many social networks like Facebook and Google+ require users to use their real names, accept their policies, and limit users to only one account. Persona allows users to keep their work, school, and social identities separate by using email addresses as a unique identifier rather than real names. Because of this anonymity you are guaranteed an extra layer of identity and network protection that most social networks do not have.

-

Persona also takes a new approach to protecting user privacy by placing the user's browser in the center of the authentication process. The browser obtains credentials provided by the user's email, then presents these credentials to a website. The email provider cannot track the user, but sites can still have confidence in the identity of the user by cryptographically verifying the credentials. Most other systems, even distributed systems like OpenID, require sites to connect to central networks before allowing a user to log in.

-

The efficiency of Persona allows an advanced relationship between developers and users. Mozilla is leading the way in open and free web development, and Persona supports Mozilla's design philosophy through its easy-to-use interface and user protection features.

diff --git a/files/fa/archive/mozilla/persona/quick_setup/index.html b/files/fa/archive/mozilla/persona/quick_setup/index.html deleted file mode 100644 index c88e90c73c..0000000000 --- a/files/fa/archive/mozilla/persona/quick_setup/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: Quick Setup -slug: Archive/Mozilla/Persona/Quick_Setup -translation_of: Archive/Mozilla/Persona/Quick_Setup ---- -


- ١-  په‌یوه‌ندییه‌كانی بزوتنه‌وه‌ی كورد‌و بزوتنه‌وه‌ی گشتی ئێران‌و ئۆپۆزسیۆنی ئێران له‌چ ئاستێكدا ده‌بینی؟

-

وڵام = لە ئێران بە هۆی دوخی تایبەت و هەر سەردەمە و بە شیوازێک خەبات و بەربەرەکانێ لە گەڵ دەسەڵات لە ئارادا بووە و بەڕێوە چووە و زۆر جاریش ئەو دەربڕینی نارەزایەتیانە و خۆ پێشاندانەکان بە دوور لە کاریگەریی لایەنە سیاسی و رێکخراوەییەکان، یان بە واتایەکیتر "خۆرسک"بووە. بەڵام لە کوردستان جیا کردنەوەی جەماوەر و لایەنە سیاسیەکان کارێکی ئاستەمە. بزووتنەوەی کوردستان هەڵقوڵاوی بەستێنێکی رزگاریخوازی، عەداڵەتخوازی، مافخوازی و کۆمەڵایەتیی پێویستە. بەم پێێە بزووتنەوەی کوردستان نەک تەنیا ویست و ئێرادەی کۆمەڵێک رووناکبیرو خوێندەوار لە زانکۆکان، بەڵکۆ پێویستەیەکی کۆمەڵایەتی و مێژوویی بوو کە لە تووتنەوان، جووتیار، قوتابی، خوێندکار و کیژو کوڕ و پیر و لاوی شارو گوندی کوردستان پێک هاتووە و بنچی کوتاوە. بۆیە ئەو بزووتنەوەیە پێکهاتەیەکە لە کۆمەڵێک رێکخراوی کۆمەڵایەتی و داخوازی روون و ئاشکرا و دەربڕێنی روون و راشکاوی ئەوداخۆازانەو بانگەشەکردن بۆیان. بەڵام بزووتنەوە جەماوەریەکان لە ئێران بە داخەوە خاوەنی داخوازێکی کونکرێت، دیار و شەفاف نین. دیارە هەرکامە و هەڵگری کۆمەڵێک داخوازن، بەڵام هەتا ئێستاشی لە گەڵ بێت نەیان توانیوە لە سەر لانیکەم داخوازە هاوبەشەکانیان هاودەنگ و هاوڕا بن. بەو مانایە کاتێک بزووتنەوی نەتەوە بن دەستەکان هەیە، تەنیا دەمێنێتەوە، هەروەک بینیمان لە ئاخری حەفتاکاندا بزووتنەوەی بەرینی خوێندکاری بە تەنیا مایەوە هەر وەک بزووتنەوە کرێکاریەکان، بزووتنەوەی ژنان، بزووتنەوە پێشەییەکان و . . . هتد بەو دەردەوە ئەناڵێنن.

-

 ئەو بزووتنەوانە بڕێک جار لە لایەن رێکخراوە حیزبیەکانەوە بە مەبەستێکی تایبەتەوە بە کار هێنراون و مافی سەربەخۆییان لێ زەوت کراوە و بە پێی هەل و مەرج و سیگناڵە سینووسیەکان لە نێو خۆی دەسەڵاتی زاڵ(نەک کۆمەڵگا)، بۆ چوونی ئەوبزووتنەوانەش ئاڵ و گۆڕی نەک تاکتیکی بەڵکۆ زۆرجار بنەڕەتیی تێدا پێک هاتووە تا رادەیەک کە بڕیک جار ریزبەندیی دۆست و دوژمنی شێواندووە.

-

بەداخەوە سەرەڕای تێپەڕینی سی و چوارساڵ بە سەر دەسەڵاتی ئیسلامی لە ئێران، شپرزەیی، بێ بەرنامەیی، بێ ئاسۆیی، ناتەبایی و بە وتەیەکی راشکاوتر، جیا لە شەڕە دەندووک و کەڵک وەرگرتنی هەلپەرستانە، بەرژەوەندیخۆازانە و بە لاڕێدا و لە بار بردنی پوتانسیەلی بەهێزی جەماوەر، دەسکەوتێکی ئەوتۆمان لە بەردەستدا نیە. لە راستیدا ئەو پەتایەی کە لایەنە ئوپۆزیسیونەکان تووشین، لە بزووتنەوە جەماوەریەکانیشدا تەشەنەی سەندووە.  هەرچەندە زۆر جاریش دەسەڵات ناچار کەوتووە لە بەرانبەر خەبات و تێکۆشانی ئەو بزووتنەوانەدا پاشەکشە بکات، بەڵام لە لایەک بە هۆی هەر ئەو شپرزەیی و بێ بەرنامەیی و ناتەباییەی کە ئاماژەی پێکرا نەتواندرا خاوەندارێتی لەو دەسکەوتانە بکرێت و بپارێزرێن و لە لایەکی ترەو کۆماری ئیسلامی بە شیوازێکی تر لە بوارگەلی تردا دیسانەوە ئەو دەسکەوتانەی زەوت کردۆتەوە.

-

لە کۆتاییدا، هەروەک لانیکەم لە ماوەی ئەم سی و چوار ساڵەدا  ئێمە بە گشتی شاهیدی زۆرێک بزووتنە، خەبات و بەربەرەکانێی جەماوەری و پیشەیی لە ئێران بووین و لە ئەگەری هاوئاهەنگی و هاوخەباتی پوتانسیلی بەدەست هێنانی زۆر دەسکەوت و بەرەو پێشچوون و بەرینتر بوونەوەیان هەبووە بەڵام نەیان توانیوە مەبەستەکانی خۆیان بە باشی بپێکن. بۆیە پێویستە بە دوور لە قەتیس مانەوە لە چوارچێوەی لایەنە حیزبیەکان و بەڕێوە بردنی رۆڵی ئامرازانە، سەربەخۆییان بپارێزرێت، پەرەیان پێ بدرێت، رێک بخرێن، هاوئاهەنگ بکرێن، بناسێندرێن و بە گشتی لە بەر ئەوەی کە هەرکامە نوێنەرایەتیی بە شێکی دیاریکراوی کۆمەڵگا دەکەن و ئاوێنەی باڵانمای کۆمەڵگان، لایەنە رێکخراوییەکان پێویستە خۆیان لە گەڵ ئەوان رێک بخەن و هاوئاهەنگ بن نەک هەلپەرستانە و ئامرازانە لە خزمەت بەرژەوەندیی بەرتەسکی حیزبی بەکاریان بێنن.

-

 

-

 

-


- ٢-  پێتوایه‌ په‌یوه‌ندی حیزبه‌كوردیه‌كان له‌گه‌ڵ ئۆپۆزسیۆنی ئێرانی له‌چ ئاستێك‌و له‌سه‌ر چ بنه‌مایه‌كدا بێت؟

-

وڵام=  ئێمە کاتێک باس لە ئوپۆزیسیون دەکەین بەداخەو لە بەر کۆمەڵێک فاکتۆری دیار و ئاشکرا، لایەن یان بابەتێکی جیدی  بە ناو ئوپۆزیسیونمان بەرچاو ناکەوێت. لە باتی ئەوە کۆمەڵێک خەڵک ئەبینین زۆرتر خەریکی شەڕە دەندووک و بە یەکدا هەڵگوتن و لەم دواییانەشدا کێبەرکێی رەنگامەین کە بە هۆی دوور کەوتنەوە لە جەماوەر و بڕێک جار خۆ بەستنەوە و خۆ هەڵواسین لە بیروکەیەکی ئیدئۆلۆژیی تایبەتیدا، مەودایەکی زۆریان لە گەڵ کۆمەڵگا و داخۆازە کۆمەڵایەتی، پێشەیی، سیاسی و ئابووریەکانیدا لە نێواندایە.  

-

بە بڕوای من چاوەڕوانی، بێ گەڵالەیی و شپرزەییەکی بەرین بە سەر ئوپۆزیسیونی ئێرانیدا زاڵە و ئەو دۆخە هەڵ ئەگەڕێتەوە بۆ بێ هیوای و نە بوونی متمانە بە خۆ و هەروەها چەشنێک"توهم" لە ئاست دەسەڵاتی ئیسلامی لە نێو ئوپۆزیسیونی ئێرانی بە گشتی. جا ئەو نەبوونی متمانە بە خۆ و تەوەهومە، تا ئەو جێگایە پەرەسەندووە کە لە بچووکترین بابەت لەئاڵ و گۆڕە نێو خۆییەکانی رژیمی ئیسلامی دا خۆ دەردەخات ولایەنهایەک لە ئوپۆزیسیونی ئێران تووشی راڕایی، دوودڵی و تەنانەت قەیران دەکات. لەمبارەوە وێنا زۆرن و بە درێژایی تەمەنی کۆماری ئیسلامی بوونیان هەبووەو هەیە، بۆ وێنە:

-

هەڵبەز دابەزەکانی رێکخراوی موجاهدین، دۆخی تایبەتیی لایەنە میللی – مەزهەبیەکان، قەیرانە نێو خۆییەکانی رێکخراوی چریکە فیداییەکانی خەڵکی ئێران، قەیران، چارەنووس و ئاکامی حیزبی توودەی ئێران و لەم شازدەساڵەی دواییشدا بە هاتنەئارای باسی ئیسڵاحخوازیی حکومەتی، خولێکی نوێ دیسانەوە دەستی پێکردەوە کە لووتکەکەی پاش هەڵبژاردنی خولی دەیەمی سەرۆک کۆماری و دەرەنجامەکانی، بە زەقی خۆی نیشاندا تا ئەو جێگایەی کە بڕێک لە ئوپۆزیسیون بە شایی لۆغان بەرەو پیریی دەسەڵاتدارانی دوێنی و بێدەسەڵاتکراوانی ئەمڕۆ کە برابەشی تاوانە سامناکەکانی کۆماری ئیسلامین، چوون و چەپڵەیان بۆ لێدان.

-

لانیکەم لە جۆزەردانی ١٣٨٨ی هەتاوی بەم لاوە، ریزی ئوپۆزیسیونی ئێرانی بە گشتی ئاڵ و گۆڕی گرینگی بە سەردا هات. واتە ئوپۆزیسیون دابەش بوو بە دوو لایەنی: رێفۆرمیست و ئەوانەی هیوایان بە ئاڵ و گۆڕ لە نێو خودی کۆماری ئیسلامیدا بەست و تەنانەت لە گەڵ نێردراوانی کۆماری ئیسلامی لە ژوورە داخراوەکاندا دانیشتن یان لە گەڵ کۆمەڵێک لە ئوپۆزیسیونی دەست نیشان کراو دانیشتن کە هیچ بڕوایەکیان بە مافە ئاسایی، یاسایی و بنەڕەتیەکانی هیچ لایەنێکیتر نیە تەنانەت ئەگەر بە رواڵەتیش  بووبێت.

-

لە ماوەی تەمەنی سی و چوارساڵە و هەموو هەڵس و کەوتەکانی ئەو رژیمە، ئەو راستیەی دەرکەوتووە و سەلمێندراوە کە بە بێ رووخانی کۆماری ئیسلامی بە تەواوەتیی هەبوونیەوە، نە هیج نەتەوە و کەمایەتی یان گروپ و دەستەیەک، بەڵکۆ تەنانەت تاکێکی کۆماڵگای فەرەچەشنیی ئێران ناتوانن بە داخواز و مافە سەرەتاییەکان خۆیان بگەن.

-

هەر بۆیە لە سەر ئەو بنەما و لێکدانەوەیە، زیندووترین،چالاکترین و ئاکتیڤترین بزووتنەوەو ئوپۆزیسیون لە کوردستان بوونی هەبووە. لە باری تەمەنیشەوە هەر وەک ئوپۆزیسیونی بێ بەرنامە و راڕایی ئێرانی هاوتەمەنی ئەو رژیمەیە، بزوتنەوەی کوردستانیش هاوتەمەنیەتی و بە دڵنیاییەوە ئەتوانین بڵێین خاوەنی درێژترین تەمەنە،. جیا لە بڕێک بابەتی لاوەکی، پەیگیرترین بزووتنەوەو ئوپۆزیسیون لە ئێران بووە.  

-

هەر وەک زۆرێک ئاگادارن، لە رۆژە سەرەتاییەکانی بە دەسەڵات گەیشتنی کۆماری ئیسلامی و زەخت خستنە سەر بیرجیاوازان و زیندانی و ئێعدام کردنی بە کۆمەڵ لە دادگا چەند خولەکی و نیزامیەکاندا، تەنیا سەنگەرێک کە سەرەڕای بێ ئیمکاناتی، هەژاری و نەداری خەڵک و ئابڵۆقە و گەمارۆە بەربڵاوەکانی دەسەڵاتی تاران لە کوردستان، گەلی کورد و وڵاتەکەیان بوونە سەنگەر، بنکە، مەقەڕ و ماوای ئازادیخوازان و بیر جیاوازان لە سەرتاسەری پانتایی ئێران.

-

لایەنە جۆربەجۆرە سیاسی و خەباتکارەکان لە لایەک بۆ درێژەی خەبات دژی ئەو رژیمەو لە لایەکی ترەو بۆ پاراستنی خۆیان، روویان کردە کوردستان و خەڵکی کوردستانیش بە دڵئاوەڵاییەوە پێشوازییان لێ کردن. هەرچەندە کوردستان و لایەنە کوردیەکان بە ئەو پەڕی دڵپاکی و رووڕاست، سەرەڕای هەموو تەنگ چەڵەمەکان و هەل و مەرجی کوردستان،  چوونە پێشوازی ئەو بابەتەوە.  بەڵام لایەنی بەرانبەر بڕێکیان بە هۆی هەر ئەو "توهم"ەی کە پێشتر ئاماژەمان پێی کرد، بڕێکیش بە هۆی گێرەو کێشە ناوخۆییەکانیان و لە کۆتاییدا بڕێکیان کە بە مەبەستی کاسبکارانەو و سەوداگەرانەوە هاتبوونە کوردستان، هەرکامەو بە شێوەیەک چوونە پەراوێزەوە.

-

دواتریش هەر یەکەو بە شێوازێک یان خەڵکی کورد و بزووتنەوەی کوردستانیان لە بیر خۆیان بردەوە یا بە شیوەیەکی نەشیاو هێرشیان کردە سەر بزووتنەوەی کوردستان و رێکخراوە کوردستانیەکان و خەباتی رەوا و خۆڕاگریی خەڵکی کوردستان بە "خێڵەکی"، "قەومپەرست" ،"ناسیونالیست" و" جودایی خواز"  و کۆمەڵێک لەو بابەتانە ناو لێناوە و باسکرد.

-

لە ئەگەری هەر پێشڕەویەکی بزووتنەوەی کوردستان و هەست بە مەترسی کردن لە لایەن لایەنە جۆربەجۆرەکانی ئێران، هەر لە چەپی چەپەوە تا راستی راست و دەسەڵاتدار تا بێدەسەڵاتی پەراوێزخراو، سەرەڕای جێاوازیی بۆچوون و تەنانەت ئیدئۆلۆژیک، بە بێ وەستان لە بەرانبەر بزووتنەوەی کوردستاندا یەکیان گردۆتەوە

-

 

-

بۆیە حیزبە کوردیەکان یان لانیکەم ئەو لایەنانە لە رێکخراوە کوردستانیەکان کە بڕوای راستەقینەیان بە وەدەستهێنانی مافەکانی خەڵکی کوردستان هەیە، لەم دووفاق بوونەوەی ئوپۆزیسیونی ئێرانیەدا بە راشکاوی بۆچوون و هەڵوێستی خۆیان  بە سات و سەودا ،سازان و پرژاندنی تووی دوودڵی،  راڕایی و گومان و کڕێنەوە متمانە بۆ ئەو دەسەڵاتە یان دەست و پێوەندە پەراوێز خراوەکانی لە نێو بەشیک لە کۆمەڵگای کوردی درێژە دەدەن ، یان بە پێداگری لە سەر داخوازەکانی کۆمەڵگای کوردستان و دۆزینەوەی هاوپەیمانی راستەقینە تا دوا قۆناخەکان و سەلماندن و دەستەبەر کردن مافە رەواکانی خەڵکی کوردستان خۆ لە هەر سازان و سات و سەودایەک ئەبوێرن.

-

 ئێمە زۆر بە راشکاوی ئەو داخوازەمان وەکۆ پرەنسیب بۆخۆمان دیاری  کردووە کە:  ناچینە هیچ هاوپەیمانی و هاوکاری لە گەڵ هیچ لایەنێکەوە کە بڕوای راستەقینەی بە مافی گەلی کورد تا دامەرزانی دەوڵەتی سەربەخۆی کوردی نەبێت و دانی پێدا نەنێت.

-


- ٣-  سه‌باره‌ت به‌مافه‌كانی گه‌لی كورد ئایا ئۆپۆزسیۆنی ئێرانی له‌به‌ره‌یه‌كدا ده‌بینی یان جیاوازییه‌كی به‌دی ده‌كرێت، پێتوایه‌ هێڵه‌ سووره‌كان بۆ حیزبی كوردی له‌و په‌یوه‌ندییانه‌دا چین؟

-

وڵام= ئەگەر چی بۆ خۆیان دوور و لێک جیاوازن و هەرکامە لە روانگەی ئیدئۆلۆژی و جیهانبینیی خۆیانەوە بۆ بابەت و پرسە جۆراوجۆرەکان ئەڕوانن، بەڵام تا ئەمڕۆ بە کردەوە نیشانیان داوە کە لە ئاست پرسە دیموکراتیک، پیشەیی،کۆمەڵایەتی و مرۆییەکان، بە تایبەت لە سەر ماف و داخوازی نەتەوە بندەستەکانی ئێران، مافی ژنان، بابەتە مرۆییەکان، بە هیچ شیوەیەک جیاوازییان نیەو یەکڕان. بۆیە هەرکامە لە جانتای وشەنامەکانیاندا بە پێی بنەما فیکریەکانیان، کۆمەڵێک وشەی دیاری کراو ریز ئەکەن.

-

بڕێکیان هەر نکۆڵی لە کورد و نەتەوەی کورد ئەکەن و زۆرتر ئەچنە دوو قاڵبی تایبەتەوە کە بریتین لە لایەنی پان ئێرانیست و مەزنیخۆازیی ئێرانی و ئەڵێن: ئێمە هەموو ئێرانین کورد و فارس و تورک و ئەوانەمان نیە ئەو جیا کردنەوانە مەبەست و خواستی دوژمنانی ئێرانی مەزنە. واتە لە راستیدا ئەو بابەت و پرسە گرینگە ئەشارنەوەو نکۆڵی لێ ئەکەن وهەموو شتێک ئەخەنە خانەی عەزەمەتی ناسیونالیزمی کوێر و بەرتەسکی ئێرانیچیەتیەوە.  لایەنی تریش بە چاویلکەیەکی هاوشێوە واتە"امت اسلامی" لە بابەتەکە دەدوێن و ئەڵێن: ئێمە هەموو موسەڵمانین و جیاوازیمان نیە، لێدوان لەو بابەتە و تەنانەت بیرلێکردنەوەشی کفرە و لە خزمەت دوژمنانی ئیسلام دایە.

-

واتە بە دەربڕینی چەند وشەی خۆخڵەتێنی بێ ناوەڕۆک بە نیازی دەرباز کردنی خۆیان لەو قەیرانە ناوچەییەن.

-

ئەوەی لەو دێڕانەی سەرەوە باسیان لێوە کرا بە درێژایی مێژوو تاقی کراونەتەوە، واتە هەرکامەو ماوەیەکی دوور و درێژ لە ئێران دەسەڵاتیان بە دەستەوە بووە یان هێشتا بە دەستیانەوەیە و تەنیا ئەوکاتانەی کە پێویستیان بووە یان بە پێی بەرژەوندیی مەبەستدار ناوێکیان لە کورد هێناوە.

-

لە ئوپۆزیسیونی ئێرانی لایەنهایەکیتریش هەن کە لە قەبارەی دروشمدا باس لە کۆمەڵە بابەتێکی "کلیشەیی"و"رواڵەتی" ئەکەن بەڵام دەسەڵتیان بە دەستەوە نەبووەو تاقینەکراونەتەوە تا برایەتیەکەیان بسەلمێندرێت. جا ئاساییە ئێمە پرسەکە نابێت بە یەکجاری بە رەش و سپی بیبینین. داخوازەکانی خەڵکی کوردستان بە راشکاوی باس دەکەین، جاڕی دەدەین، هێزو پشتیوانی بۆ کۆدەکەینەوە و پێداگریی لە سەر ئەکەین.

-

بە بێ گەڵاڵەی کونکرێت و پێشمەرجی روون و ئاشکرا لە سەر پرسی کورد و بزووتنەوەی خەڵکی کوردستان لە بەرانبەر ئوپۆزیسیونی ئێرانی بە گشتی، چوونە هەر دانیشتن لە پشت دەرکی داخراو، رێکەوتن و بلووک بەندیەکەوە(ئەو بابەتەی کە لەم رۆژانەدا بانگەشەی بۆ دەکرێت) دیسانەوە رادەست کردنەوە و پردەباز کردنی بەرژەوەندی و بزووتنەوەی کوردستانە ئەویش لە بەرانبەر لایەنهایەکی بێ بەڵێنی پاوانخوازی هەلپەرست. جا دیارە ئەوەش نە لە قازانجی بزووتنەوەی رەوای خەڵکی کوردستان بەڵکۆ لە پێناو سات و سەودا بە مەبەستی بەرتەسکی تایبەتدایە.

-

زۆر بە بێ پەردە و خۆماڵیانە بیڵێم، لە روانگەی منەوە زۆربەی ئەو لایەنانەی کە بە ناوی ئوپۆزیسیونی ئێرانیەوە بوونیان هەیە چ ئەوانەی لە ژێر دروشمی خەڵک فریودەری " ئێران هی هەموو ئێرانیەکانە" خەڵکی کورد رەسەن ترین (قوم)ی!؟ ئێرانین"،" ئێمە هەموو یەک نەتەوەین و ئێرانین"،"کورد و تورک و فارس و ئەوانەمان نیە، ئێمە هەموو(امت اسلام)ین!؟"و" پاراستنی چوارچێوەی ئەرزیی ئێران ئەرکی بێ ئەم لا و ئەولای هەمووانە" هیچ بایەخ و نرخێکیان نیە. نە خاک، نە ئاڵا، نە دروشمی قەبەی دینداری و دیانەت تا ئەو کاتەی مافە سروشتی و ئاساییەکانی منی کورد بە فەرمی نەناسێت و مل کەچی نەبێت، نە ئەوی کە بایەخدار و پیرۆز نیە، بەڵکۆ بۆ تێکشاندنیشی حەول ئەدەم.

-

7

-


- ٤-  به‌بڕوای ئێوە كۆنگره‌ی 13ی كۆمه‌ڵه‌ ده‌بێت چ گۆڕانكاری له‌سیاسه‌ت‌و ستراتیژه‌كانی بكات سه‌باره‌ت به‌ په‌یوه‌ندی‌و هاوكارییه‌كانی له‌گه‌ڵ ئۆپۆزسیۆنی ئێرانی؟

-

دۆخی ئەمڕۆی جیهان، ناوچە، ئێران و کوردستان بە گشتی دۆخێکی تایبەتە و ئاڵ و گۆڕی پەیتا پەیتا و خێرا بە خۆیەوە دەبینێت، بۆیە ئەرکی سەرەکیی هەر لایەن و پێکهاتەیەکی رێکخراوەیی، سیاسی و جەماوەری کە مۆدێڕن و ئەمڕۆیی بێت، لێکدانەی واقێعبینانەی ئەو دۆخەو دۆزینەو بە کار بردنی هەڵوێستی گونجاو لەو بارەوەیە.  بەڵام بە داخەوە دەردێکی کۆنی گورچک بڕ داوێنی هەموو لایەنەکانی تەنیوەتەوە کە ئەویش نامۆدێڕن بوون و نائەمڕۆیی بوونە.

-

هەموو لایەنە سیاسی و رێکخراوەییەکان چ کوردستانی و چ ئەوانەی ئێرانی، لەسەردەمانێکدا بە گشتی خاوەنی پێگەیەکی رێکخراوەیی، سیاسی و کۆمەڵایەتی بوون کە بۆ هەموو لایەک خاڵێکی وەرچەرخان بوو، بەڵام بە هۆکاری روون و ئاشکرا کە بۆ کەس شاراوە نین، یان پێگەکەیان لاواز بوو یان هەر بە تەواوەتی رووخا. هەرچەندە سەرەڕای ئەو تراژدیە ئەسەفبارە لە ئێران بە گشتی، لە کوردستان دۆخەکە بە شیوازێکی ترەو هێشتا رێکخراوە کوردیەکان لە چاو ئێران لە ئاستێکی باشتردان. لەم نێوەدا جەماوەری خەڵکی کوردستان بە هێچ شیوەیەک تاوانبار نین چونکۆ بە درێژایی تەمەنی دەسەڵات و هێزی داگیرکاری رژیمی تاران، راوەستاون، خەباتیان کردووە، قوربانییان داوە و شەرافەتمەندانە ژیاون. لە هەر ئان و ساتدا کە بە پێویستیان زانیبێت بە بێ راڕایی و گۆمان پێشوازییان لە داخوازی حیزبەکوردیەکانەوە کردووە و بە هانایانەوە هاتوون.

-

 بۆیە ئەوە لایەنە رێکخراوەییەکانن کە پێویستە وڵامدەرەوەی ئەو دۆخە بن، سەرەڕای هەبوونی بەستێنی سیاسی، فەرهەنگی و کۆمەڵایەتیی شیاو و لە بار، نەیانتوانیوە کۆمەڵگا رێکبخەن و وڵامی داخوازە خەباتکارانەکانی جەماوەر بدەنەوە. لە بەر ئەوەی یان خەریکی کۆمەڵێک بابەتی لاوەکین یان سەرقاڵی کێشەی ناوەکی و بە یەکدا هەڵگوتنن.

-

لە هەر کومەڵگایەک بە پێی دۆخی گشتیی کۆمەڵگا و هەل و مەرجی تایبەت بە ئەو کومەڵگایە، لایەنە رێکخراوەیی و سیاسیەکان لە بەر ئەوەی هێزە ئینسانیەکەیان هەر لە ئەو شوێنە وەر ئەگرن، ئەو حیزب و لایەن یان رێکخراوەیە لە هەموو ئاستەکاندا هەڵگری کولتوورو خۆ و خسڵەتەکانی جەرماوەری پێکهێنەری ئەو کۆمەڵگایەیە، لە کوردستانیش کە بەشێک لەو کۆمەڵگایانەیە، ئاشکرایە کە هەڵگری ئەو خۆ و خسڵەتانەیە و رەنگدانەوەشی لە نێو حیزبەکان یان هەر پێکهاتەیەکی جەماوەری و کۆمەڵایەتی دیار و حاشا هەڵنەگرە.

-

بۆیە هەڵس وکەوتی نێو لایەن و رێکخراوە کوردیەکانێش بە گشتی لە ژێر کاریگەریی ئەو پرسەدایە. (هەر چەندە لە ئێران بە گشتی لایەنی رووناکبیریی کەمەڵگا چاوی لە دەرەوەی سنوورەکانی خۆی بڕیوە و نە بە نیازی ئەزموون وەرگرتن بەڵکۆ زۆرجار بۆ چاولێگەری و (تقلید) بۆ بابەتەکەی رووانیوە هەر بۆیە تا ئیستا نەیتوانیوە پێوەندیی نێوان کاری سیاسیی پڕۆفشناڵ و کۆمەڵگا قایم و پتەو بکاتەوە. هۆیەکەشی ئەوە بووە کە نەیان تووانیوە جەماوەری کۆمەڵگای خۆیان بناسن و هەڵسەنگاندن و لێکدانەوەیەکی واقێعبیبانەیان لێی هەبێت.)

-

لە کوردستان ئەو بابەتە بە شیوازێکیتر خۆ دەنوێنێت، ئەویش ئەوەیە کە هێشتا پێوەندیی نێوان جەماوەر و لایەنە رێکخراوەیی، پیشەیی، جەماوەری و سیاسیەکان لە ئاستێکی شیاودا نیە، شیوازی حیزبایەتی لە کوردستان نەیتوانیوە خۆی پێ بگەێنێت، مۆدێڕنەوە بێت و بە پێی پێشەوە چوونەکانی کۆمەڵگای کوردستان گەشە بکات.  بۆ وێنە شێوازی حیزبایەتی لە کوردستان تێکڵاوێکە لە داب و نەریتی پاشماوەی شیوازی بەرهەمهێنانی زاڵی سێ چارەکە سەدە لەمەو پێشی کوردستان، حەولدان بۆ خۆ تێوەگلاندن لە تەوژمی  هەرس هێناوی نیو سەدەی پێشترو ئێستاش بانگەشەی حیزبایەتیی مۆدێڕن کە بە داخەوە لە نێوان هەرسێکدا ماونەتەوە.

-

لە مێژووی ژیانی کۆمەڵگای مرۆڤایەتیدا هەر سەردەمەو و ناوچەی جوغرافیایی، کەرەسەو ئامرازی خەبات گۆڕدراوە. لە ئەمڕۆشدا کە خولی سەرهەڵدانی بزووتنەوە پیشەیی، رەگەزی، کۆمەڵایەتی و تایبەتیەکانە، ئەرکی سەرەکیی حیزبێکی مۆدێڕن و ئەوڕٶیی ناسینی ئەو راستیەو خۆ رێکخستن و خۆتەیار کردن بۆ هاو ئاهەنگی لە گەڵ وەها بزووتنەوەگەلێکدایە و لە هەمان کاتدا بە فەرمی ناسینی سەربەخۆیی و مەموو مافەکانی ئەو لایەنانەیە نەک حەول دان بۆ بە حیزبی کردنیان و کەڵک وەرگرتن لەوانە لە پێناو بەرژەوەندیی کورت ماوەو بەرتەسکی حیزبی و بەستنەوەیان لە قاڵب و چوارچێوەی حیزبایەتیدا.

-

بۆیە بە قەناعەت هێنان و بڕوا بەو راستیە کە شێوازی حیزبایەتی و بەڕێوە بردنی حیزب بەو چلۆنایەتیەی کە هەیە، وڵامدەرەوە نیە، ئەرکی سەرشانی ئەندامانی بەشداری کۆنگرەی سێزدەی کۆمەڵە ئەوەیە کە پێداگری بکەن لە سەر:

-
    -
  1. حیزبیەت کردن و دانانی دەستگاو دامەرزاوەی حیزبی و خۆ دەرباز کردن لە شێوە حیزبایەتیی کلاسیک. ئەویش بە کردەوە و بە عەمەل نە سەردانی کۆمەڵێک دروشمی بریقەداری باو.
  2. -
  3. جارێک و بۆ هەمێشە سەلماندنی مل کەچ بوون بە هەڵوێست و بڕیاری پەسەندکراوی گشتی، نەک تەسلیم بوون بە خواست و ئیرادەی تاک.
  4. -
  5. پەسەند کردن و پێداگری لە سەر جێ بە جێ کردنی مێکانیزمێک لە پێناو ئاشت کردنەوی جەماوەر و لایەنە سیاسی و رێکخراوەییەکان و بەخشینەوەی متمانانەی تەم گرتووی کۆمەڵگا بە رێکخراوەکان، کە هۆە سەرەکیەکەی شێوەی هەڵس و کەوتی حیزبەکان خۆیانن.
  6. -
  7. پێداگری لە سەر سەلماندنەوە و کردنە بڕوای پراکتیکیی ئەو راستیە کە حیزب، رێکخراوە و هەر بابەتێکی لەو چەشنە، ئامرازو کەرەسەیەکن لە خزمت بەرژەوەندیی گشتیی کۆمەڵگادا.
  8. -
  9. بایەخدان بە ویست و داخوازی جەماوەر و خستنەگەڕی هێزو توانای حیزب لە پێناو وڵامدانەوە بە داخوازە رەواکانی خەڵکی کوردستان لەم قۆناخە هەستیارە لە مێژووی خەباتکارانەی جەماوەری خەڵکی کوردستان.
  10. -
  11. حەولدان بۆ رێکخستن و سازماندانی کۆڕ و کۆمەڵە مەدەنی و غەیرە حیزبیەکان و هاوکاری و یارمەتی دانی ئەو کۆڕ و کۆمەڵانە.
  12. -
diff --git a/files/fa/archive/mozilla/xul/index.html b/files/fa/archive/mozilla/xul/index.html deleted file mode 100644 index 5380037ae5..0000000000 --- a/files/fa/archive/mozilla/xul/index.html +++ /dev/null @@ -1,94 +0,0 @@ ---- -title: XUL -slug: Archive/Mozilla/XUL -tags: - - NeedsTranslation - - TopicStub - - XUL -translation_of: Archive/Mozilla/XUL ---- -
- XUL Tutorial
- A guided tutorial that will help you get started with XUL, originally from XULPlanet.
-
-

XUL (XML User Interface Language) is Mozilla's XML-based language for building user interfaces of applications like Firefox. The term XUL is sometimes used to refer to the whole Mozilla platform (e.g. XUL applications are applications using XUL and other components of the platform).

-

XUL Controls lists some of the common controls provided by XUL.

-
- - - - - - - -
-

Documentation

-
-
- XUL Tutorial
-
- A guided tutorial that will help you get started with XUL, originally from XULPlanet.
-
- XUL Reference
-
- XUL elements, attributes, properties, methods, and event handlers.
-
- XUL Controls
-
- A quick list of all of the available XUL controls.
-
- The Joy of XUL
-
- Describes the key features and components of XUL.
-
- Menus and Popups Guide
-
- A guide on using menus and popup panels.
-
- Template Guide
-
- A detailed guide on XUL templates, which is a means of generating content from a datasource.
-
- Drag and Drop
-
- How to perform drag and drop operations.
-
- Overlays
-
- Overlays are used to describe extra content for the UI. They provide a powerful mechanism for extending and customizing existing XUL applications.
-
-
-
- XUL Periodic Table
-
- This collection of XUL demos used to be available as a web page, but can no longer be viewed in Firefox since support for Remote XUL was disabled.  There is a XULRunner application containing the XUL Periodic Table which can be opened with Gecko based browsers. You can get it here. See: XULRunner_tips#Using_Firefox_3_to_run_XULRunner_applications for instructions on running XULRunner apps in Firefox.
-
- Changes to XUL
-
- New XUL features and changes to existing features are included in the Firefox developer release notes.
-
-

View All...

-
-

Community

- -

Tools

- -

View All...

- - -
-

 

diff --git "a/files/fa/archive/mozilla/xul/\331\205\330\261\330\254\330\271_\330\262\330\250\330\247\331\206_\330\267\330\261\330\247\330\255\333\214_\331\210\330\247\330\263\330\267_\332\251\330\247\330\261\330\250\330\261\333\214_\331\205\330\250\330\252\331\206\333\214_\330\250\330\261_\330\247\333\214\332\251\330\263_\330\247\331\205_\330\247\331\204/index.html" "b/files/fa/archive/mozilla/xul/\331\205\330\261\330\254\330\271_\330\262\330\250\330\247\331\206_\330\267\330\261\330\247\330\255\333\214_\331\210\330\247\330\263\330\267_\332\251\330\247\330\261\330\250\330\261\333\214_\331\205\330\250\330\252\331\206\333\214_\330\250\330\261_\330\247\333\214\332\251\330\263_\330\247\331\205_\330\247\331\204/index.html" deleted file mode 100644 index efddf1246c..0000000000 --- "a/files/fa/archive/mozilla/xul/\331\205\330\261\330\254\330\271_\330\262\330\250\330\247\331\206_\330\267\330\261\330\247\330\255\333\214_\331\210\330\247\330\263\330\267_\332\251\330\247\330\261\330\250\330\261\333\214_\331\205\330\250\330\252\331\206\333\214_\330\250\330\261_\330\247\333\214\332\251\330\263_\330\247\331\205_\330\247\331\204/index.html" +++ /dev/null @@ -1,365 +0,0 @@ ---- -title: مرجع زبان طراحی واسط کاربری مبتنی بر ایکس ام ال -slug: Archive/Mozilla/XUL/مرجع_زبان_طراحی_واسط_کاربری_مبتنی_بر_ایکس_ام_ال -translation_of: Archive/Mozilla/XUL/XUL_Reference ---- -
- « XUL Reference «
-

فهرست الفبایی عناصر XUL

-
- -
-

فهرست عناصر طبقه بندی شده XUL

-
- « XUL Reference «
-

پنجره (ویندوز)

-
- -
-

ساختار پنجره

-
- -
-

منوها و پنجره های خودبازشو

-
- -
-

نوار ابزار

-
- -
-

سربرگ ها و ابزارهای گروه بندی

-
- -
-

کنترل ها

-
- -
-

متن و تصویر

-
- -
-

فهرست ها

-
- -
-

ساختارهای درختی

-
- -
-

آرایش

-
- -
-

قالب ها

-
- -
-

اسکریپت ها

-
- -
-

عناصر کمکی

-

دیگر عناصر XUL

-
- -
diff --git a/files/fa/archive/web/index.html b/files/fa/archive/web/index.html deleted file mode 100644 index ce3481b9ae..0000000000 --- a/files/fa/archive/web/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: Archived open Web documentation -slug: Archive/Web -tags: - - Archive - - Landing - - NeedsTranslation - - TopicStub - - Web -translation_of: Archive/Web ---- - - -
{{Obsolete_Header}}
- -

The documentation listed below is archived, obsolete material about open Web topics.

- -
-
-
-
Talk:background-size
-
Should not the "Browser compatibility" table also list Google Chrome and Konqueror? Chome is not mentioned at all, but is becoming increasingly popular. Konqueror is listed below the table, which seems inconsistent. Znerd 04 August 2009
-
Browser Detection and Cross Browser Support
-
Improper browser detection can lead to web maintenance nightmares. Rethinking the basics of when and how to detect user agents is crucial to creating maintainable, cross browser web content. This article reviews several approaches to browser detection, their usefulness in specific circumstances to arrive at a common sense approach to browser detection.
-
Browser Feature Detection
-
An experimental approach to discovering degree of support for Standards
-
CSS
-
Obsolete CSS features
-
Displaying notifications (deprecated)
-
Firefox offers support for "desktop notifications"; these are notifications that are displayed to the user outside the context of the web content, using the standard notification system provided by the operating system.
-
E4X
-
ECMAScript for XML (E4X) is a programming language extension that adds native XML support to JavaScript. It does this by providing access to the XML document in a form that feels natural for ECMAScript programmers. The goal is to provide an alternative, simpler syntax for accessing XML documents than via DOM interfaces. A valid alternative to E4X is a non-native JXON algorithm.
-
E4X Tutorial
-
This tutorial walks you through the basic syntax of E4X (ECMAScript for XML). With E4X, programmers can manipulate an XML document with a syntax more familiar to JavaScript programming.
-
Talk:Array.forEach()
-
Ok, in the end I didn't remove the old code as it isn't hosted anywhere (I thought the github reference contained the code) but inserted a faster implementation above while retaining the rest of the document.
-
Iterator
-
The Iterator function returns an object which implements legacy iterator protocol and iterates over enumerable properties of an object.
-
LiveConnect
-
(Please update or remove as needed.)
-
MSX Emulator (jsMSX)
-
 
-
Old Proxy API
-
Proxies are objects for which the programmer has to define the semantics in JavaScript. The default object semantics are implemented in the JavaScript engine, often written in lower-level languages like C++. Proxies let the programmer define most of the behavior of an object in JavaScript. They are said to provide a meta-programming API.
-
ParallelArray
-
The goal of ParallelArray was to enable data-parallelism in web applications. The higher-order functions available on ParallelArray attempted to execute in parallel, though they may fall back to sequential execution if necessary. To ensure that your code executes in parallel, it is suggested that the functions should be limited to the parallelizable subset of JS that Firefox supports.
-
- -
-
-
- -
-
-
Properly Using CSS and JavaScript in XHTML Documents
-
XHTML™ 1.0 The Extensible HyperText Markup Language (Second Edition) defines XHTML to be a reformulation of HTML 4 as an XML 1.0 application.
-
Talk:JavaScript Reference
-
The guide section links to an interesting document discussing how to create and use private variables in objects, which is great if you want to protect the various properties within an object from being poked at accidentally. I also just read a document on proper inheritance using apply(). Well if you combine the two, you can have inherited private variables:
-
Scope Cheatsheet
-
JavaScript with Mozilla extensions has both function-scoped vars and block-scoped lets. Along with hoisting and dynamic behavior, scope in JavaScript is sometimes surprising.
-
Server-Side JavaScript
-
Here's a radical idea: Use one language to write entire Web apps -- the same language which billions of web pages already use, every day.
-
Sharp variables in JavaScript
-
A sharp variable is a syntax in object initializers that allows serialization of objects that have cyclic references or multiple references to the same object.
-
Standards-Compliant Authoring Tools
-
Creating cross-browser code upfront will save you lots of time quality testing your web content. The following authoring tools adhere to the W3 standards. If you're using older versions of tools that rely on old browser bugs or generate browser-specific code, it may be time to upgrade:
-
StopIteration
-
The StopIteration object was used to tell the end of the iteration in the legacy iterator protocol. Do not use this ancient feature.
-
Styling the Amazing Netscape Fish Cam Page
-
 
-
Using JavaScript Generators in Firefox
-
Generators can be used to simplify asynchronous code in Firefox by opting in to using JavaScript version 1.7 or later. You can opt in in HTML as follows:
-
Window.importDialog()
-
Because opening windows on mobile isn't necessarily appropriate, the Firefox Mobile team designed the importDialog() method to replace window.openDialog(). Instead of opening a new window, it merges the specified XUL dialog into the main window.
-
Writing JavaScript for XHTML
-
Technical review completed. Editorial review completed.
-
XForms
-
XForms were envisioned as the future of online forms as envisioned by the W3C. Drawing on other W3C standards like XML Schema, XPath, and XML Events, XForms tried to address some of the limitations of the current HTML forms model. However, XForms never gained traction and is now considered obsolete.
-
-
-
diff --git a/files/fa/archive/web/server-side_javascript/index.html b/files/fa/archive/web/server-side_javascript/index.html deleted file mode 100644 index 5969623300..0000000000 --- a/files/fa/archive/web/server-side_javascript/index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: Server-Side JavaScript -slug: Archive/Web/Server-Side_JavaScript -tags: - - NeedsTranslation - - TopicStub -translation_of: Archive/Web/Server-Side_JavaScript ---- -

Here's a radical idea: Use one language to write entire Web apps -- the same language which billions of web pages already use, every day.

- -

Sounds obvious, but for at least the first twelve years of the Web's evolution, developers have pretty much had to use different languages on the server from those available in the browser, leading to segregated teams, disparate and inconsistent know-how, and plenty of server-side string manipulation gymnastics to generate HTML or Ajax pages. 

- -

The simplicity of using JavaScript on the server was part of Netscape's original vision back in the day with Netscape LiveWire. But back then, 350 MHz servers were the best you could buy, and Mozilla was yet to emerge from the Netscape organization to continue to advance the state of Web technologies. Today with computing cycles having increased more than 10-fold and Mozilla's work on Rhino (JavaScript interpreter in Java) and SpiderMonkey (JavaScript interpreter in C) and JavaScript itself, we have very solid foundations for JavaScript to be extraordinarily useful and applicable on the server-side again -- with performance in the same range as popular server-side environments like PHP and Ruby on Rails. 

- -

Now, with TraceMonkey available, JavaScript (both client side and server-side) can see 20x to 40x speed improvements according to Brendan Eich, Mozilla CTO and creator of JavaScript. Server-Side JavaScript is another way in which, as this article quotes Eich, "Mozilla wants to 'get people thinking about JavaScript as a more general-purpose language' and show them that 'it really is a platform for writing full applications.'"

- -

Many vendors today are embedding Mozilla Rhino or Mozilla SpiderMonkey into Web server environments. Some, like Aptana with the open source Jaxer server actually embed the entire Mozilla Firefox browser engine (including SpiderMonkey) within a Web server to enable server-side Ajax and server-side DOM access in addition to server-side execution of JavaScript.

diff --git "a/files/fa/archive/web/server-side_javascript/\330\261\330\247\331\207\331\206\331\205\330\247/index.html" "b/files/fa/archive/web/server-side_javascript/\330\261\330\247\331\207\331\206\331\205\330\247/index.html" deleted file mode 100644 index ddd898c081..0000000000 --- "a/files/fa/archive/web/server-side_javascript/\330\261\330\247\331\207\331\206\331\205\330\247/index.html" +++ /dev/null @@ -1,557 +0,0 @@ ---- -title: 'بازگشت به سرور: اوج گیری جاوا اسکریپت سمت سرور' -slug: Archive/Web/Server-Side_JavaScript/راهنما -translation_of: Archive/Web/Server-Side_JavaScript/Walkthrough ---- -

نوشته ی: دیوی واترسن، معمار جاوا اسکریپت، آپتانا

- -

شکی نیست که جاوا اسکریپت پرکاربردترین زبان سمت کاربر در وب است. فارغ از این که بک اند برنامه تحت وب شما چگونه پیاده سازی شده، در سمت کاربر برای انجام (تقریبا) هر کاری از جاوا اسکریپت استفاده می کنید: از اعتبارسنجی فرم تا یک برنامه سراسر Ajax. حالا تصور کنید که می توانید با جاوا اسکریپت سمت سروربرنامه های وب خود را نیز توسعه دهید. آیا امکان استفاده از یک زبان برای سمت سرور و کاربر زندگی را برای ما توسعه دهندگان آسان تر نمی کند؟

- -

چرخه ی کامل

- -

اگر شما بخشی از انفجار بزرگ وب در اواسط دههی 1990 بودهاید شاید به یاد داشته باشید که (ایدهی) استفاده از جاوا اسکریپت در هر دو سمت سرور و کاربر، هستهی اصلی نگرش نتاسکیپ برای برنامههای وب بود. «نت اسکیپ لایو وایر» نخستین موتور جاوا اسکریپت سمت سرور بود. اکنون با گذشت بیش از 10 سال و تبدیل گروه تکنولوژی نت اسکیپ  به بنیاد موزیلا، جاوا اسکریپت سمت سرور با توجه به افزایش بیش از 10 برابری قدرت پردازندههای امروزی به نسبت پردازنده های اواسط دهه ی 90 در پردازش جاوااسکریپت، کار توسعه دهندگان وب را آسانتر کرده و به همین دلیل شاهد تجدید حیاتی بزرگ است. همانند گذشته این تیم موزیلا است که در مرکز این سیر تکاملی وب قرار دارد. بنا بر گفته ی Brendan Erich مدیر فنی موزیلا و خالق جاوا اسکریپت، موتور بعدی جاوا اسکریپت موزیلا با نام TraceMonkey می تواند کارآیی جاوا اسکریپت را 20 تا 40 برابر بیشتر کند. در پیشرفت های اخیر شاهد ظهور موتورهای دیگری مانند V8 از گوگل و squirrelfish از webKit  برای جاوا اسکریپت بوده ایم. این موتورها استانداردهای کارآیی را ارتقاء داده و به حفظ فضای رقابتی کمک میکنند و باعث هدایت رقابت به سمت بخشهای مرتبط با کارآیی تمام استفادههای اصلی جاوا اسکریپت می شود.

- -

در حال حاضر دو موتور اصلی جاوا اسکریپت در سمت سرور استفاده می شوند و هر دو برآمده از موزیلا هستند: «موزیلا راینو» و «موزیلا اسپایدر مانکی». «راینو» یک مفسر جاوا اسکریپت است که با جاوا نوشته شده و می تواند پلی میان جاوا اسکریپت و جاوای سمت سرور باشد. «استیو یگ» از گوگل کارهای جالبی با این موتور انجام داده. از سوی دیگر «اسپایدر مانکی» موتور جاوا اسکریپت است (که با C نوشته شده) و در مرورگر محبوب فایرفاکس استفاده شده. «اسپایدر مانکی» پس از تکامل تبدیل به «تریس مانکی» خواهد شد. همچنین Jaxer «سرور Ajax» (پروژهای که در آپتانا کار کردهام) نمونه ای از SSJS است که نه تنها از «اسپایدر مانکی» استفاده میکند بلکه 

- -

                      

- -

but also embeds the entire Firefox browser engine in the application server such that you can do server-side DOM manipulation and other Ajaxy things server-side that Rhino was not built to do.

- -

                   

- -

Let's take a look at various SSJS implementations and some examples of putting them to use.

- -

                   

- -

Server-Side JavaScript (SSJS) via Embedded JavaScript Engines

- -

The extension of JavaScript to the server is made possible via embedded JavaScript engines. The two most well established engines are SpiderMonkey and Rhino, both currently maintained by the Mozilla Foundation. SpiderMonkey is the code name for the first ever JavaScript engine, an open source C implementation which can be found embedded in leading software products such as Mozilla Firefox, Adobe Acrobat, and Aptana Jaxer. Rhino is a Java implementation of JavaScript which is commonly embedded in Java applications to expose scripting capability. The Helma web application framework is an example of Rhino in use. The Dojo Toolkit also has capabilities that run in Rhino. Let’s take a closer look at Rhino and its importance to the JavaScript developer.

- -

                      

- -

Rhino offers a unique opportunity for the JavaScript developer to tap into the power of Java classes using JavaScript. Armed with some basic Java knowledge, you can extend JavaScript to include some of the most desired capability such as database access, remote web requests, and XML processing. We’ll start by taking a look at querying a SQL database.

- -

                      

- -

This first example we’ll demonstrate is querying a mySQL database for some employee contact information. It is assumed that you have already downloaded, extracted, and consumed the necessary documentation to get up and running with some basic Rhino scripts. If you don’t already have it, you’ll need to also download the JDBC driver for mySQL, extract the class files, and include the path in your CLASSPATH environment variable. The code in Listing 1 is a sample JavaScript script which incorporates Java classes to handle the database query.

- -

                      

- -

Listing 1 - Querying a mySQL database from Rhino

- -
// import the java sql packages
-importPackage( java.sql );
-
-// load the mySQL driver
-java.lang.Class.forName( "com.mysql.jdbc.Driver" );
-
-// create connection to the database
-var conn = DriverManager.getConnection( "jdbc:mysql://localhost/rhino", "uRhino", "pRhino" );
-
-// create a statement handle
-var stmt = conn.createStatement();
-
-// get a resultset
-var rs = stmt.executeQuery( "select * from employee" );
-
-// get the metadata from the resultset
-var meta = rs.getMetaData();
-
-// loop over the records, dump out column names and values
-while( rs.next() ) {
-	for( var i = 1; i <= meta.getColumnCount(); i++ ) {
-		print( meta.getColumnName( i ) + ": " + rs.getObject( i ) + "\n" );
-	}
-	print( "----------\n" );
-}
-
-// cleanup
-rs.close();
-stmt.close();
-conn.close();
- -

              

- -

This code starts off by using a Rhino function named importPackage which is just like using the import statement in Java. Here, we’re including all the classes in the java.sql namespace in the script. The appropriate database driver for mySQL is loaded and the connection string to a database named rhino on my local machine is configured using the user account uRhino with the password of pRhino. The SQL statement is prepared, executed, and printed with the help of the metadata obtained from the resultset. Sample output is shown in Listing 2.

- -
id: 1
-first_name: Sammy
-last_name: Hamm
-department: IT
-title: Network Administrator
-----------
-id: 2
-first_name: Nigel
-last_name: Bitters
-department: Finance
-title: Accounting Manager
-...
-
- -

                      

- -

It’s clear to see that with just a few lines of code, we can easily take advantage of SQL data stores in JavaScript. The sample script in Listing 1 could be factored out to it’s own function to retrieve the set of employee information, or abstracted further into a more generic data handler class. Next we’ll take a look at another powerful feature in Rhino, E4X processing.

- -

                      

- -

E4X (ECMAScript for XML) is an extension of JavaScript which provides direct support for XML, greatly simplifying the process of consuming XML via JavaScript. Rhino’s support of this important standard eliminates the pain of using DOM or SAX based parsers in Java. Listing 3 below details a script used to process an RSS feed from the Mozilla website.

- -
importPackage( java.net );
-
-// connect to the remote resource
-var u = new URL( "http://www.mozilla.org/news.rdf" );
-var c = u.openConnection();
-c.connect();
-
-// read in the raw data
-var s = new java.io.InputStreamReader( c.getInputStream() );
-var b = new java.io.BufferedReader( s );
-var l, str = "";
-
-while( ( l = b.readLine() ) != null ) {
-	// skip
-	if( l != "" ) {
-	str = str + l + "\n";
-	}
-}
-// define the namespaces, first the default,
-// then additional namespaces
-default xml namespace = "http://purl.org/rss/1.0/";
-var dc = new Namespace( "http://purl.org/dc/elements/1.1/" );
-var rdf = new Namespace( "http://www.w3.org/1999/02/22-rdf-syntax-ns#" );
-
-// use e4x to process the feed
-var x = new XML( str );
-for each( var i in x..item ) {
-	print( "Title: " + i.title + "\n" );
-	print( "About: " + i.@rdf::about + "\n" );
-	print( "Link: " + i.link + "\n" );
-	print( "Date: " + i.dc::date + "\n" );
-}
-
- -

                      

- -

The first half of this script is standard Java code used to retrieve the feed data. After the asset is retrieved and stored in a string, the proper namespaces are defined for this particular resource. The default namespace is defined along with two others, in particular dc and rdf. Defining these namespaces becomes important if we want to be able to access any data elements in the feed defined in these namespaces.

- -

                      

- -

The act of creating an E4X object is quite simple, in the case of Listing 3, we do this through the line

- -

                      

- -

var x = new XML( str );

- -

                      

- -

From here, the XML is accessible via dot notation. Notice during the processing of the item element where we use the rdf and dc namespace to access the about attribute of the item element, and the date element respectively. The syntax for accessing E4X objects is actually quite natural and certainly easier than most methods.

- -

                      

- -

JavaScript engines such as Rhino and SpiderMonkey on their own have proven to be a useful and powerful tool to the developer. However, taking advantage of frameworks such as Aptana Jaxer (SpiderMonkey) and Helma (Rhino) can reveal even greater rewards as a great deal of work has already been done for you. All you need to do is implement the JavaScript. Let’s take a closer look on the SpiderMonkey side with Jaxer.

- -

                      

- -

As stated earlier, Aptana Jaxer is built using the Mozilla Browser Engine engine that powers Mozilla Firefox, which includes SpiderMonkey as its JavaScript interpreter, but lots more features beyond SSJS alone such as DOM, DB, File IO, CSS, server sessions, E4X, etc...] This is a great advantage to the developer as it presents a consistent server-side and client-side development environment for both browser and server contexts that is centered on open source and Web standards. Also since you know which engine you're targeting, you're free to confidently use advanced built in controls such as XML processing via E4X, XPath, and XSLT. Let's take a tour through some of the top features of Jaxer through code examples.

- -

                      

- -

Jaxer – Server-Side Ajax via the Firefox Browser Engine on the server   

- -

Although server-side JavaScript is not a new concept, Jaxer implements it in a unique fashion. By taking advantage of current ScriptMonkey and Ajax capabilities not to mention the loads of other features packed into the Mozilla Firefox Browser Engine, Aptana Jaxer fuses the client-side with the server-side, creating a unified “same language” development platform. Where once you would need to master not only JavaScript for the client-side but also some flavor of a server-side Web language, Jaxer puts all the rich capability of a server-side language into JavaScript. This accounts for added simplicity and promotes rapid development methodologies.

- -

                      

- -

Managing Context   

- -

To take advantage of all the operating contexts of Jaxer, you'll need to specify how your scripts should behave using the runat attribute of the script tag (or by setting a runat property on a JavaScript function object). The common values for this attribute are explained below, though there are more than just these.

- -

                      

- - - -

While most of the runat attribute values above are self explanatory, the server-proxy concept is best explained through example. Consider the code in Listing 4.

- -

                      

- -

Listing 4 - Demonstration of server and client context

- -
<script runat="server">
-function exposed() {
-	return "exposed to the browser";
-}
-
-function notExposed() {
-	return "can't see me!";
-}
-</script>
-
-
-<script runat="client">
-alert( exposed() );
-alert( notExposed() );
-</script>
-
- -

There are two blocks of scripts defined, one with runat set to server and the other set to client. This creates a strict separation of the two environments. As it stands, the code in the client block would throw an error since the server-side JavaScript is not within scope. If you intend to allow the execution of server-side JavaScript from the client-side, you can correct the code in listing 1 by doing one of three things.

- -
    -
  1. -

    Change the runat attribute value of server to server-proxy.

    -
  2. -
  3. -

    Add a statement inside the server-side script block to expose a particular server-side function to the browser. This statement is of the form <functionName>.proxy = true.

    -
  4. -
  5. -

    Ensure the server-side function name is contained within the Jaxer.proxies array.

    -
  6. -
- -

Generally it's a best practice to use either the second or third strategy since in this case you are exposing only what's needed to the client. See Listing 5 for an update to Listing 1 to reflect this.

- -

                      

- -

Listing 5 - Demonstration of server-proxy

- -
<script runat="server">
-function notExposed() {
-	// runs on the server, hidden from the browser
-	return "can't see me!";
-}
-
-function exposed() {
-	// runs on the server, callable from the browser
-	return "exposed to the browser";
-}
-exposed.proxy = true; // tell Jaxer this function is ok to be called from the browser
-</script>
-
-<script runat="client" type="text/javascript">
-alert( exposed() ); //works like a charm
-alert( notExposed() ); //produces an object not found error since it server-side only
-</script>
-
- -

                  

- -

Understanding the concept of operating context in Jaxer is central to moving forward with the example application which is what we'll examine next.

- -

                      

- -

Jaxer – Example Application   

- -

The example application consists of a simple form used to accept comments from public users and was built to cover some of the most useful Jaxer features. The example application is running under Jaxer build 0.9.7.2472 and also incorporates the ExtJS version 2.1 JavaScript framework for user interface controls. For more information how to obtain and install these products, refer to the resources section.

- -

                      

- -

Single Page Applications   

- -

The first feature the application demonstrates is the concept of a single page application. Since Jaxer allows you to define which code is reserved for the server-side, which code stays on the client-side, and which code is shared between the two, it's very possible to produce a single page application which could also include any number of external assets such as a popular third party framework. Listing 6 shows the beginning of our application which takes advantage of some of these concepts.

- -

                      

- -

Listing 6 - Creating the User Interface

- -
<link href="/jaxer_examples/js/ext-2.1/resources/css/ext-all.css" type="text/css" rel="stylesheet"/>
-<script src="/jaxer_examples/js/ext-2.1/adapter/ext/ext-base.js"/>
-<script src="/jaxer_examples/js/ext-2.1/ext-all.js"/>
-
-<link href="/jaxer_examples/css/main.css" type="text/css" rel="stylesheet"/>
-
-<script runat="both" src="/jaxer_examples/js/validateComments.js"/>
-
-<script>
-var txt_name;
-var txt_email;
-var txt_message;
-var btn_comments;
-var form_comments;
-
-Ext.onReady( function() {
-	// create the name text field
-	txt_name = new Ext.form.TextField({
-		name: "name",
-		fieldLabel: "Name",
-		width: 200
-	});
-
-	// create the e-mail text field
-	txt_email = new Ext.form.TextField({
-		name: "email",
-		fieldLabel: "E-mail",
-		width: 200
-	});
-
-	// create the message text field
-	txt_message = new Ext.form.TextArea({
-		name: "message",
-		fieldLabel: "Message",
-		width: 200
-	});
-
-	// create a button used to send the form details.
-		btn_comments = new Ext.Button({
-		text: "Submit",
-		fieldLabel: "",
-		handler: formHandler
-	});
-
-// create the form panel, attach the inputs
-form_comments = new Ext.form.FormPanel({
-		labelAlign: "right",
-		width: 400,
-		title: "Comments",
-		items: [
-			txt_name,
-			txt_email,
-			txt_message,
-			btn_comments
-		],
-		renderTo: "form-comments"
-	});
-
-});
-</script>
-
-
-
-
- -

                      

- -

The code in Listing 6 starts by hooking in the Ext JS library which is used to produce the UI elements of the form. Next a script named validateComments.js is hooked in with the runat attribute set to both. The function defined within this file checks the form to make sure it is complete, returning a boolean. The both context it operates within is a very powerful concept as we are able to use this code to check values entered in the form on both the client and server side. No custom validation libraries for each environment makes for rapid development with less risk for error.

- -

                      

- -

Towards the bottom of the code are two div tags with ids form-comments and out-logger. The form-comments div is used to render the form and the out-logger will be used as a log display as each comment is added. The completed user interface is shown in Figure 1.

- -

                     

- -

Figure 1 – The user interface

- -

       ui.png

- -

Server-Side DOM Processing

- -

Another powerful concept of Jaxer is the ability to access the DOM server-side with JavaScript. This gives you added control to interrogate and manage the document structure before it's pushed to the client. Listing 7 contains the code which demonstrates this concept.

- -

                      

- -

Listing 7 - Manipulating the DOM server-side

- -
<script runat="server">
-	window.onserverload = function() {
-		document.getElementById( "out-logger" ).innerHTML = Jaxer.File.read( "dump.txt" );
-	}
-</script>
- -

                      

- -

The code in listing 7 is executed server-side and takes advantage of the onserverload event which ensures that we have a complete DOM before trying to access it. This code is simple in that it updates the innerHTML of the logging div with the contents of a text file. The contents of this file are obtained through the file I/O capabilities exposed by Jaxer which is what we'll examine next.

- -

                      

- -

File I/O

- -

Jaxer ships with a comprehensive filesystem I/O capability that is very useful. There are numerous methods in this namespace which allow for a simple, yet powerful approach to file management. The example application uses this capability to log comments submitted by the form to a plain text file named dump.txt. Listing 8 shows the two functions used to handle the comment submission process.

- -

                      

- -

Listing 8 - Submitting Comment Data

- -
<script>
-function formHandler() {
-
-// get the form values
-	var name = txt_name.getValue();
-	var email = txt_email.getValue();
-	var message = txt_message.getValue();
-
-	// if the form passes validation client-side, submit results to the processor
-	if( validateComments( name, email, message ) ) {
-		formProcessor( name, email, message );
-		// update the logger with the most recent entry
-		document.getElementById( "out-logger" ).innerHTML += "name: " + name + "<br/>email: " + email + "<br/>message: " + message + "<br/><br/>";
-	} else {
-		Ext.Msg.alert( "Error", "Please enter the required fields" );
-	}
-}
-</script>
-
-<!-- processes the form contents -->
-<script runat="server">
-function formProcessor( name, email, message ) {
-	// perform the same validation of the data server-side
-	if( !validateComments( name, email, message ) ) {
-		throw "Incomplete data was submitted.";
-	}
-	// assemble the string
-	var s = "name: " + name + "<br/>" +
-	"email: " + email + "<br/>" +
-	"message: " + message + "<br/><br/>";
-	// append the entry to the log file
-	Jaxer.File.append( "dump.txt", s );
-}
-formProcessor.proxy = true;
-</script>
-
-
- -

The first function, formHandler, performs some first-level validation using the validateComments function. If it passes validation, the formProcessor server-side function is invoked which does the same validation check using the shared validateComments function. Finally, the comment information is assembled into a string and appended to the dump file.

- -

                      

- -

Database Access

- -

For more robust data management, Jaxer comes with the ability to manage data in either a SQLite database which is included in Jaxer, or a mySQL database, and is extensible to others. Much like the file I/O namespace, database access in Jaxer can be as simple or complicated as you want or need it to be. For debugging, Jaxer will also send database errors to the client if you want.

- -

                      

- -

Upgrading the example application to include database access requires just a few lines of code added to the formProcessor method. Listing 9 demonstrates these changes.

- -

                      

- -

Listing 9 - Jaxer database access

- -
<script runat="server">
-function formProcessor( name, email, message ) {
-
-	// perform the same validation of the data server-side
-	if( !validateComments( name, email, message ) ) {
-		throw "Incomplete data was submitted.";
-	}
-
-	// assemble the string
-	var s = "name: "    + name    + "<br/>" +
-			"email: "   + email   + "<br/>" +
-			"message: " + message + "<br/><br/>";
-
-	// append the entry to the log file
-	Jaxer.File.append( "dump.txt", s );
-
-	// add support for management via database
-	Jaxer.DB.execute( "create table if not exists comments ( id integer primary key auto_increment, " +
-															"name varchar(50) not null, "             +
-															"email varchar(255) not null, "           +
-															"message varchar(300) not null )" );
-
-	Jaxer.DB.execute( "insert into comments ( name, email, message ) values ( ?, ?, ? )", [ name, email, message ] );
-
-}
-
-formProcessor.proxy = true;
-</script>
- -

                      

- -

The first statement which uses the Jaxer.DB namespace creates a new database table in the default SQLite database if it doesn't already exist. You can see the field names and data types which make sense for the type of data that's been added. The second statement is just a simple insert statement using the data obtained from the form. Placeholders in the form of '?' are used to match up the argument values with their proper position in the insert statement.

- -

                      

- -

XML Processing

- -

The final feature we'll explore is XML processing with a particular emphasis first on the capability to create a simple XML service on the server-side, then use the E4X capabilities to processes it.

- -

                      

- -

Listing 10 demonstrates the configuration of a simple service we're able to advertise through Jaxer using the data from the database we captured from prior form submissions.

- -

                      

- -

Listing 10 - Creating a simple XML service

- -
-<script runat="server">
-var rs_comments = Jaxer.DB.execute("SELECT * FROM Comments");
-var doc = document.implementation.createDocument('', 'comments', null);
-var root = doc.documentElement;
-rs_comments.rows.forEach(function(row, index)
-{
-if (true || index < 10)
-{
-var node = doc.createElement('comment');
-node.setAttribute('id', row.id);
-node.setAttribute('name', row.name);
-node.setAttribute('message', row.message);
-root.appendChild(node);
-}
-});
-Jaxer.response.exit(200, doc);
-</script> 
- -

The data from the database is represented in XML format as follows:

- -
<comments> <comment message="”Jaxer" name="”Nigel" id="”1”"></comment> ... more comments ... </comments>
-
- -

Now that we've created this simple XML feed, we can now also consume it using the code from Listing 11.

- -

Listing 11 - Consuming the XML feed

- -
<script runat="server">
-var r = Jaxer.Web.get("service.html", {as: 'e4x'});
-for (var i=0, len = r.comment.length(); i<len; i++) {
-	var comment = r.comment[i];
-	document.write('id: ' + comment.@id + '<br/>');
-	document.write('name: ' + comment.@name + '<br/>');
-	document.write('message: ' + comment.@message + '<br/>');
-	document.write('<hr/>');
-}
-</script>
- -

 The code in Listing 11 is very simple. First a call to get the XML feed is made using the get method from the Jaxer.Web namespace, using the option that requests the response as a new E4X object. The comment nodes are looped over with data output using the simplified E4X syntax.

- -

Out of all the features we looked at, this one has to be my favorite. To be able to use Jaxer to essentially create an XML based RESTful service in JavaScript is useful and shifts a great deal of power to the JavaScript developer.

- -

                      

- -

Conclusion

- -

JavaScript can be successfully used for full application development on both the client and server, fulfilling Netscape's original vision for a single, unified language for the Web that makes apps easier to develop and maintain. Advances such as Ajax and running Ajax on the server side with the Jaxer server boosted by today's faster JavaScript engines and radically faster ones like TraceMonkey to come from Mozilla, sets the stage for significant use of server-side JavaScript now.

- -

                      

- -

Resources

- -

                      

- - - -

                      

- -

      

diff --git a/files/fa/midas/index.html b/files/fa/midas/index.html deleted file mode 100644 index 975b7bdfa8..0000000000 --- a/files/fa/midas/index.html +++ /dev/null @@ -1,330 +0,0 @@ ---- -title: Midas -slug: Midas -tags: - - DOM - - Midas - - NeedsContent - - NeedsHelp - - NeedsTranslation - - Reference - - Référence(2) - - TopicStub -translation_of: Mozilla/Projects/Midas ---- -

Introduction

- -

Midas is the code name for Gecko's built-in rich text editor. Midas can be enabled via JavaScript on an HTML document. When Midas is enabled, the document becomes editable by the user. Scripting for Midas is based on the DHTML commands supported by Internet Explorer. Internet Explorer supports the ability to make an entire document editable by setting the designMode property of the {{domxref("document")}} object; this is how Midas is invoked in Gecko. Internet Explorer also supports the ability to edit specific elements using the contentEditable attribute; Starting with Firefox 3, Gecko also supports contentEditable. Once Midas is invoked, a few more methods of the document object become available.

- -

Properties

- -
-
document.designMode
-
By setting this property to "on", the document becomes editable.
-
- -

Notes

- -

Since an entire document becomes editable, authors often load the editable document into an IFRAME and do the bulk of the scripting in the parent document. According to standards, The IFRAME element has the contentDocument property that refers to the document in the inline frame. It also has a property called contentWindow that refers to the window object inside the inline frame. This also avoids problems with {{bug(198155)}}.

- -

In addition to the built-in commands, advanced editing can be done by manipulating the {{domxref("Selection")}} and {{domxref("range")}} objects. It is beneficial to be familiar with these objects when working with an editable document.

- -

Examples

- -

This example shows the basic structure described in the Notes section :

- -
<html>
-	<head>
-		<title>Simple Edit Box</title>
-	</head>
-	<body>
-		<iframe
-			id="MidasForm"
-			src="about:blank"
-			onload="this.contentDocument.designMode='on';"
-		></iframe>
-	</body>
-</html>
-
- -

Methods

- -
-
{{domxref("Document.execCommand")}}
-
Executes the given command.
-
{{domxref("Document.queryCommandEnabled")}}
-
Determines whether the given command can be executed on the document in its current state.
-
{{domxref("Document.queryCommandIndeterm")}}
-
Determines whether the current selection is in an indetermined state.
-
{{domxref("Document.queryCommandState")}}
-
Determines whether the given command has been executed on the current selection.
-
{{domxref("Document.queryCommandValue")}}
-
Determines the current value of the document, range, or current selection for the given command.
-
- -

Supported Commands

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CommandValueDescription
backcolorA color code.This command will set the background color of the document.
bold If there is no selection, the insertion point will set bold for subsequently typed characters. -

If there is a selection and all of the characters are already bold, the bold will be removed. Otherwise, all selected characters will become bold.

-
contentReadOnly This command will make the editor readonly(true)or editable(false). Anticipated usage is for temporarily disabling input while something else is occurring elsewhere in the web page.
copy If there is a selection, this command will copy the selection to the clipboard. If there isn't a selection, nothing will happen. -

note: this command won't work without setting a pref or using signed JS. See: more about security preferences

- -

note: the shortcut key will automatically trigger this command (typically accel-C) with or without the signed JS or any code on the page to handle it.

-
createlinkA URI.This command will not do anything if no selection is made. If there is a selection, a link will be inserted around the selection with the url parameter as the href of the link.
cut If there is a selection, this command will copy the selection to the clipboard and remove the selection from the edit control. If there isn't a selection, nothing will happen. -

note: this command won't work without setting a pref or using signed JS. See: more about security preferences

- -

note: the shortcut key will automatically trigger this command (typically accel-X) with or without the signed JS or any code on the page to handle it.

-
decreasefontsize This command will add a <small> tag around selection or at insertion point.
delete This command will delete all text and objects that are selected. If no text is selected it deletes one character to the right. This is similar to the Delete button on the keyboard.
fontnameA font nameThis command will set the font face for a selection or at the insertion point if there is no selection. -

The given string is such as would be used in the "face" attribute of the font tag, i.e., a comma-separated list of font names.

-
fontsizeA numberThis command will set the fontsize for a selection or at the insertion point if there is no selection. -

The given number is such as would be used in the "size" attribute of the font tag.

-
forecolorA color codeThis command will set the text color of the selection or at the insertion point.
formatblockH1, H2, H3, H4, H5, H6, P, DIV, ADDRESS, BLOCKQUOTE (more?)The selection surrounded by the given block element.
headingH1, H2, H3, H4, H5, H6Selected block will be formatted as the given type of heading.
hilitecolorA color codeThis command will set the hilite color of the selection or at the insertion point. It only works with styleWithCSS enabled.
increasefontsize This command will add a <big> tag around selection or at insertion point.
indent Indent the block where the caret is located. If the caret is inside a list, that item becomes a sub-item one level deeper.
insertbronreturntrue/falseSelects whether pressing return inside a paragraph creates another paragraph or just inserts a <br> tag.
inserthorizontalrulenull/string (when string is the Line's id)This command will insert a horizontal rule (line) at the insertion point. -

Does it delete the selection? Yes!

-
inserthtmlA string.This command will insert the given html into the <body> in place of the current selection or at the caret location. -

The given string is the HTML to insert.

-
insertimageA URI.This command will insert an image (referenced by the given url) at the insertion point.
insertorderedlist Depends on the selection. If the caret is not inside a non-LI block, that block becomes the first LI and an OL. If the caret is inside a bulleted item, the bulleted item becomes a numbered item.
insertunorderedlist Depends on the selection. If the caret is not inside a non-LI block, that block becomes the first LI and UL. If the caret is inside a numbered item, the numbered item becomes a bulleted item.
insertparagraph Inserts a new paragraph.
italic If there is no selection, the insertion point will set italic for subsequently typed characters. -

If there is a selection and all of the characters are already italic, the italic will be removed. Otherwise, all selected characters will become italic.

-
justifycenter Center-aligns the current block.
justifyfull Fully-justifies the current block.
justifyleft Left-aligns the current block.
justifyright Right aligns the current block.
outdent Outdent the block where the caret is located. If the block is not indented prior to calling outdent, nothing will happen. -

If the caret is in a list item, the item will bump up a level in the list or break out of the list entirely.

-
paste This command will paste the contents of the clipboard at the location of the caret. If there is a selection, it will be deleted prior to the insertion of the clipboard's contents. -

note: this command won't work without setting a pref or using signed JS. user_pref("capability.policy.policynames", "allowclipboard"); user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess"); See: more about security preferences

- -

note: the shortcut key will automatically trigger this command (typically accel-V) with or without the signed JS or any code on the page to handle it.

-
redo This command will redo the previous undo action. If undo was not the most recent action, this command will have no effect. -

note: the shortcut key will automatically trigger this command (typically accel-shift-Z)

-
removeformat Removes inline formatting from the current selection.
selectall This command will select all of the contents within the editable area. -

note: the shortcut key will automatically trigger this command (typically accel-A)

-
strikethrough If there is no selection, the insertion point will set strikethrough for subsequently typed characters. -

If there is a selection and all of the characters are already striked, the strikethrough will be removed. Otherwise, all selected characters will have a line drawn through them.

-
styleWithCSS This command is used for toggling the format of generated content. By default (at least today), this is true. An example of the differences is that the "bold" command will generate <b> if the styleWithCSS command is false and generate css style attribute if the styleWithCSS command is true.
subscript If there is no selection, the insertion point will set subscript for subsequently typed characters. -

If there is a selection and all of the characters are already subscripted, the subscript will be removed. Otherwise, all selected characters will be drawn slightly lower than normal text.

-
superscript If there is no selection, the insertion point will set superscript for subsequently typed characters. -

If there is a selection and all of the characters are already superscripted, the superscript will be removed. Otherwise, all selected characters will be drawn slightly higher than normal text.

-
underline If there is no selection, the insertion point will set underline for subsequently typed characters. -

If there is a selection and all of the characters are already underlined, the underline will be removed. Otherwise, all selected characters will become underlined.

-
undo This command will undo the previous action. If no action has occurred in the document, then this command will have no effect. -

note: the shortcut key will automatically trigger this command (typically accel-Z)

-
unlink If the insertion point is within a link or if the current selection contains a link, the link will be removed and the text will remain.
{{Deprecated_header}}
readonly This command has been replaced with contentReadOnly. It takes the same values as contentReadOnly, but the meaning of true and false are inversed.
useCSS This command has been replaced with styleWithCSS. It takes the same values as styleWithCSS, but the meaning of true and false are inversed.
- -

 

diff --git a/files/fa/mozilla/add-ons/add-on_guidelines/index.html b/files/fa/mozilla/add-ons/add-on_guidelines/index.html deleted file mode 100644 index a2ceecab7b..0000000000 --- a/files/fa/mozilla/add-ons/add-on_guidelines/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: Add-on guidelines -slug: Mozilla/Add-ons/Add-on_guidelines -translation_of: 'https://extensionworkshop.com/documentation/publish/add-on-policies/' ---- -

These add-on guidelines were created to foster an open and diverse add-on developer community while ensuring an excellent user experience. They apply to all add-ons and add-on updates regardless of where they are hosted, and also apply to customizations performed by installers that configure Firefox without using an add-on. Add-ons hosted on AMO are subject to additional policies.

-

Be Transparent

- -

Be Respectful to Users

- -

Be Safe

- -

Be Stable

- -

Exceptions

- -

Other exceptions may apply.

-

Enforcement

-

Add-ons that do not follow these guidelines may qualify for blocklisting, depending on the extent of the violations. Guidelines qualified with the word - - must - are especially important, and violations thereof will most likely result in a blocklisting nomination.

-

The Add-ons Team will do their best to contact the add-on's developers and provide a reasonable time frame for the problems to be corrected before a block is put in place. If an add-on is considered malicious or its developers have proven unreachable or unresponsive, or in case of repeat violations, blocklisting may be immediate.

-

Guideline violations should be reported via Bugzilla, under Tech Evangelism > Add-ons. Questions can be posted in the #addons IRC channel.

-

These guidelines may change in the future. All updates will be announced in the Add-ons Blog.

diff --git a/files/fa/mozilla/add-ons/sdk/index.html b/files/fa/mozilla/add-ons/sdk/index.html deleted file mode 100644 index 135dca5a25..0000000000 --- a/files/fa/mozilla/add-ons/sdk/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: کیت توسعه افزونه -slug: Mozilla/Add-ons/SDK -translation_of: Archive/Add-ons/Add-on_SDK ---- -

شما می توانید افزونه های فایرفاکس را با استفاده از تکنولوژی های وب و کیت توسعه فایرفاکس بسازید: جاوااسکریپت ، HTML، و CSS. کیت توسعه شامل API های جاوااسکریپت برای توسعه افزونه و ابزارهایی برای توسعه و آزمایش و انتشار افزونه است.

- -
-

آموزش ها

- -
-
-
-
شروع
-
چگونه کیت توسعه را نصب کنیم و از ابزار cfx  برای توسعه ، تست و انتشار افزونه استفاده کنیم.
-
ارتباط با مرورگر
-
باز کردن صفحات, بارگزاری صفحات, و لیست صفحات باز.
-
تکنیک های توسعه
-
یاد گرفتن تکنیک های توسعه معمولی , مانند یونیت تست, logging, ایجاد ماژوله های قابل استفاده مجدد, محلی کردن, and توسعه برای موبایل.
-
-
- -
-
-
ایجاد اجزای رابط کاربری
-
ساخت اجزای رابط کاربری مانند دکمه های تولبار, منوهای بازشونده, منوها, و دیالوگ ها.
-
ویرایش صفحات
-
ویرایش صفحات  مطابق یک الگوی آدرس یا به صورت پویا یک تب را ویرایش کنیم.
-
قرار دادن همه چیز کنار هم
-
مشاهده افزونه ها نمونه .
-
-
-
- -
-

راهنما ها

- -
-
-
-
راهنمای نویسندگان
-
یاد گرفتن چگونگی شرکت کردن در توسعه کیت توسعه, و یاد گرفتن مهمترین اصطلاحات کیت توسعه , مانند ماژول, کلاس ها و وراثت, تنظیمات خصوصی, و  فرایند های محتوا.
-
زیر ساخت های کیت توسعه
-
جنبه های تکنولوژی زیر بنایی کیت توسعه: ماژول ها , شماره برنامه , و تعریف قوانین سازگاری فایرفاکس.
-
اسکریپت های محتوا
-
یک راهنمای دقیق برای کار با اسکریپت های محتوا.
-
-
- -
-
-
اصطلاحات کیت توسعه
-
چارچوب رویداد های کیت توسعه  ، تمایز بین اسکریپت های محتوا و اسکریپت های افزونه ها.
-
XUL مهاجرت
-
یک راهنما یرای انتقال افزونه های XUL به کیت توسعه. این راهنما شامل مقایسه دو مجموعه ابزار و نمونه های کاری انتقال افزونه های XUL.
-
فایرفاکس چند پروسه ای و کیت توسعه
-
چگونگی چک کردن سازگاری افزونه شما با فایرفاکس چند پروسه ای و درست کردن ان در صورت نبودن
-
-
-
- -
-

ارجاع

- -
-
-
-
رابط های برنامه کاربردی سطح بالا
-
مستندات مرجع برای رابط های برنامه کاربردی  کیت توسعه سطح بالا.
-
ابزراهای مرجع
-
مستندات ارجاع برای ابزار cfx برای توسعه , تست, و انتشار افزونه, استفاده های کلی از ابزار کنسول برای Logging, و فایل pachage,json.
-
-
- -
-
-
رابط های برنامه کاربردی سطح پایین
-
مستندات مرجع برای رابط های برنامه کاربری کیت توسعه سطح پایین.
-
-
-
diff --git a/files/fa/mozilla/add-ons/themes/background/index.html b/files/fa/mozilla/add-ons/themes/background/index.html deleted file mode 100644 index 3ad47ca2be..0000000000 --- a/files/fa/mozilla/add-ons/themes/background/index.html +++ /dev/null @@ -1,104 +0,0 @@ ---- -title: Background Themes -slug: Mozilla/Add-ons/Themes/Background -translation_of: Mozilla/Add-ons/Themes/Lightweight_themes ---- -

{{AddonSidebar}}

- -

How to Create Your Own Background Theme

- -
-

Themes are made up of a "header" graphic image file, which skins the default Firefox UI background.

- -

Finished Your Design? You can submit it right now!

- -

Creating a Theme Header Image

- -

The header image is displayed as the background of the top of the browser window, nestling in behind the toolbars, address bar, search bar and the tab strip. It will be anchored to the top-right corner of the browser window.

- -

- - - -

Image Requirements

- - - -

Tips

- - - -

Online Image Editor Resources

- - - - - -

In older versions of Firefox, or newer versions with certain add-ons installed, the footer image is displayed as the background of the bottom of the browser window, behind the add-on and find bars. It will be anchored to the bottom-left corner of the browser window. Footer images are optional.

- -

- - - -

Image Requirements

- - - -

Tips

- - - -

Submitting your Theme Images

- -

To get started submitting your images, go to the Theme Submission page:

- -
    -
  1. Name your theme — pick a unique name for your theme. Duplicate names are not allowed, so you may need to try a few times to find a unique name.
  2. -
  3. Pick a category and tags — select a category and enter some tags that best describe your theme. Keep in mind that a reviewer may reject your theme if it is obvious that your category and/or tags are unrelated to your theme.
  4. -
  5. Describe your theme — write a short description of your theme. Keep in mind that a reviewer may reject your theme if your description is not an accurate representation of your theme.
  6. -
  7. Select a license for your theme — decide on a copyright license for your work. Read more about the types of Creative Common licenses. -
      -
    • Important: Please be sure you have the rights to use the image in your theme!
    • -
    -
  8. -
  9. Upload your images — make sure they are under 300 KB in size and JPG or PNG format!
  10. -
  11. Select text and tab colors — you can choose the tab ("background") color and foreground text color that work best with your header image.
  12. -
  13. Preview your theme — you're ready to preview your theme! Simply mouse over the image above the Submit Theme button, and see how it looks instantly.
  14. -
  15. Submit your theme — if everything looks right, click the Submit Theme button and you're done! You can see all the themes you've authored on your profile page. -
      -
    • Tip: to ensure that your theme is approved for the gallery, be sure it complies with the content guidelines and terms of service!
    • -
    -
  16. -
- -

- -

Submit Your Theme Now

- -

More Tutorials

- -

Mozilla Themes Focal Point on Sizing - A tutorial on theming with a focus on sizing, by VanillaOrchids.

-
diff --git a/files/fa/mozilla/add-ons/themes/index.html b/files/fa/mozilla/add-ons/themes/index.html deleted file mode 100644 index 86dd860fa7..0000000000 --- a/files/fa/mozilla/add-ons/themes/index.html +++ /dev/null @@ -1,61 +0,0 @@ ---- -title: Themes -slug: Mozilla/Add-ons/Themes -tags: - - Add-ons - - Look & Feel - - NeedsTranslation - - Themes - - TopicStub -translation_of: Mozilla/Add-ons/Themes ---- -{{AddonSidebar}} - -
-

The Theme documentation here is out of date.

-
- -

Themes are skins for different Mozilla applications. They allow you to change the look and feel of the user interface and personalize it to your tastes. A theme can simply change the colors of the UI or it can change every piece of its appearance.

- -
-
-

Documentation

- -
-
Building a Theme
-
A tutorial for building a simple theme in Firefox.
-
Common Theme Issues and Their Solutions
-
Common issues seen when AMO editors review themes and how to fix them.
-
Lightweight themes
-
Building lightweight themes for Firefox
-
Creating a Skin for SeaMonkey 2
-
An introduction to creating new themes for SeaMonkey 2.
-
Making Sure Your Theme Works with RTL Locales
-
How to make sure your theme will look right with Hebrew, Arabic, Persian and Urdu locales.
-
Theme Packaging
-
How to package themes for Firefox and Thunderbird.
-
Yet Another Theme Tutorial
-
Another tutorial in Mozilla theme construction.
-
Obsolete docs
-
These docs are very old and will never be updated, but we've kept them in case the are useful source material for people updating the Theme documentation.
-
-
- -
-

Getting help

- - - -

Tools

- - -
-
- -

 

diff --git a/files/fa/mozilla/add-ons/themes/theme_concepts/index.html b/files/fa/mozilla/add-ons/themes/theme_concepts/index.html deleted file mode 100644 index dda28c91fe..0000000000 --- a/files/fa/mozilla/add-ons/themes/theme_concepts/index.html +++ /dev/null @@ -1,232 +0,0 @@ ---- -title: Theme concepts -slug: Mozilla/Add-ons/Themes/Theme_concepts -translation_of: Mozilla/Add-ons/Themes/Theme_concepts ---- -
{{AddonSidebar()}}
- -

Themes developed using the WebExtensions API in Firefox enable you to change the look of the browser by adding images to the header area of the Firefox browser; this is the area behind the menu bar, toolbars, address bar, search bar, and tab strip.

- -

These theme options can be implemented as static themes (although the theme images themselves may be animated) or as dynamic themes created in a browser extension.

- -
-

If you have a lightweight theme it will be converted to this new theme format automatically before lightweight themes are deprecated. You do not need to port your th eme. However, please feel free to update your themes to use any of the new features described here.

-
- -

Static themes

- -

Static themes are specified using the same resources as a browser extension: a manifest.json file to define the theme components with those components stored in the same folder as the manifest.json file or a sub folder. These resources are then packed in a zip for publication on addons.mozilla.org (AMO) or for self-distribution. For more information on self-distribution, visit Signing and distributing your add-on.

- -

You can also use the theme generator on AMO to create a static theme. Additionally, Firefox Color can be used to preview customizations to the browser's theme with options to share and export a theme.

- -
-

A theme and browser extension functionality cannot be defined in one package, such as including a theme to complement an extension. You can, however, programmatically include a theme in an extension using the Theme API. See Dynamic themes.

-
- -

Defining a theme

- -

To create a theme (in this example a simple, single image theme):

- - - -

Static theme approaches

- -

There are two approaches you can take to theming the header area of Firefox: using a single image or using multiple images. You could combine the two, but it’s easier to treat them separately.

- -

Single image themes

- -

This is the basic or minimal theming option, where you define:

- - - -

The area your header image needs to fill is a maximum of 200 pixels high. The maximum image width is determined by the resolution of the monitor Firefox is displaying on and how much of the monitor Firefox is using. Practically, this means you would need to allow for a width of up to 5120 pixels wide (for the next generation of 5k monitors). However, rather than creating a very wide image, a better approach is to use a narrower image with a transparent left edge so that it fades to the background color. For example, we could use this image
- An image of a weta (the common name for a group of about 70 insect species in the families Anostostomatidae and Rhaphidophoridae, endemic to New Zealand) with the left edge fading to total transparency.
- combined with a complementary background color, to create this effect in the header
- A single image theme using the weta.png image

- -

See details about this theme in the themes example weta_fade.

- -

Obviously, you can still provide a single wide image if you prefer.

- -

Multiple image themes

- -

As an alternative to creating a single image theme, you have the option to use multiple images. These images can be individually anchored to locations within the header, with the option to apply tiling to each image.

- -

Depending on the effect you want to create you may need to suppress the mandatory "theme_frame": image with an empty or transparent image. You would use an empty or transparent image if, for example, you wanted to tile a centrally justified image, such as
- An image of a weta (the common name for a group of about 70 insect species in the families Anostostomatidae and Rhaphidophoridae, endemic to New Zealand) with the left and right edges fading to total transparency.
- to create this effect
- A single image theme using the additional images option to align an image to the center of the heading and tile it.
- Here you specify the weta image like this:

- -
"images": {
-  "theme_frame": "empty.png",
-  "additional_backgrounds": [ "weta_for_tiling.png"]
-},
- -

and the images tiling with:

- -
"properties": {
-  "additional_backgrounds_alignment": [ "top" ],
-  "additional_backgrounds_tiling": [ "repeat"  ]
-},
- -

Full details of how to setup this theme can be found in the themes example weta_tiled. Full detais of the alignment and tiling options can be found in the "theme" key description.

- -

Alternatively, you can use multiple images, say combining the original weta image with this one anchored to the left of the header
- An image of a weta (the common name for a group of about 70 insect species in the families Anostostomatidae and Rhaphidophoridae, endemic to New Zealand) with the right edge fading to total transparency.
- to create this effect
- A theme using the additional images option to place two mirrored image to the left and right of the browser header.

- -

Where the images are specified with:

- -
"images": {
-  "theme_frame": "empty.png",
-  "additional_backgrounds": [ "weta.png", "weta-left.png"]
-},
- -

and their alignment by:

- -
"properties": {
-  "additional_backgrounds_alignment": [ "right top" , "left top" ]
-},
- -

Full details of how to setup this theme can be found in the themes example weta_mirror. Full details of the alignment options can be found in the "theme" key description.

- -

Static animated themes

- -

It is possible to create an animated theme using an APNG format image, as in the themes example animated. However, remember that rapid animations, such as the one in the example might be too distracting for a practical theme.

- -

You can also animate themes programmatically, which we discuss in Dynamic themes.

- -

Updating static themes

- -

If your static theme is hosted on AMO, you can upload a new version using the Developer Hub with the following steps:

- -
    -
  1. Visit the product page for your theme through the Developer Hub
  2. -
  3. Select "Upload New Version" on the left
  4. -
  5. Upload your packaged file for validation or modify it using the theme generator
  6. -
- -

For self-hosted static themes, a new version can be updated through AMO by following the above steps or be handled by you through an updateURL or external application updates. A new version will need to be signed through the Developer Hub.

- -
-

 If you are uploading a packaged file, the version number must be higher than the current version number

-
- -

Dynamic themes

- -

As an alternative to defining a static theme, you can use the {{WebExtAPIRef("theme")}} API to control the theme used in Firefox from within a browser extension. There are a couple of use cases for this option:

- - - -

And, obviously, you can combine the two and bundle a programmatically controlled theme with your extension.

- -

Using the {{WebExtAPIRef("theme")}} API is straightforward. First, request "theme" permission in the extension's manifest.json file. Next, you build a JSON object containing the same information you would use in a static theme’s manifest.json, Finally, pass the JSON object in a {{WebExtAPIRef("theme.update()")}} call.

- -

For example, the following code, from the dynamic theme example defines the content for the day and night elements of the dynamic theme:

- -
const themes = {
-  'day': {
-    images: {
-     theme_frame: 'sun.jpg',
-    },
-    colors: {
-     frame: '#CF723F',
-     tab_background_text: '#111',
-    }
-  },
-  'night': {
-    images: {
-     theme_frame: 'moon.jpg',
-    },
-    colors: {
-     frame: '#000',
-     tab_background_text: '#fff',
-    }
-  }
-};
- -

The theme.Theme object is then passed to {{WebExtAPIRef("theme.update()")}} to change the header theme, as in this code snippet from the same example:

- -
function setTheme(theme) {
-  if (currentTheme === theme) {
-    // No point in changing the theme if it has already been set.
-    return;
-  }
-  currentTheme = theme;
-  browser.theme.update(themes[theme]);
-}
- -

Learn more about dynamic themes and see an additional example in the following video:

- -

{{EmbedYouTube("ycckyrUN0AY")}}

- -

- -

If you have not built a browser extension before, check out Your first extension for a step-by-step guide.

- -

Cross-browser compatibility

- -

There is currently limited compatibility between themes in the major browsers. Opera takes an entirely different approach, and Microsoft Edge themes are not yet open to developers.

- -

There is good compatibility between Firefox static themes and Chrome themes, providing the ability to port a single header image theme from Firefox to Chrome. However, noting that "frame": and "tab_background_text": only support RGB color array definition on Chrome.

- -

So, in the single image theme example (weta_fade) could be supported in Chrome using the following manifest.json file:

- -
{
-  "manifest_version": 2,
-  "version": "1.0",
-  "name": "<your_theme_name>",
-  "theme": {
-    "images": {
-      "theme_frame": "weta.png"
-    },
-    "colors": {
-      "frame": [ 173 , 176 , 159 ],
-      "tab_background_text": [ 0 , 0 , 0 ]
-    }
-  }
-}
- -

Also, note that Chrome tiles the “theme_frame”: image from the left of the header area.

- -

The basic theme example using the Chrome compatible manifest.json keys, showing the differences in how those keys are implemented.

- -

For more information, see the notes on Chrome compatibility.

diff --git a/files/fa/mozilla/connect/index.html b/files/fa/mozilla/connect/index.html deleted file mode 100644 index e91eddc039..0000000000 --- a/files/fa/mozilla/connect/index.html +++ /dev/null @@ -1,98 +0,0 @@ ---- -title: Connect with Mozilla -slug: Mozilla/Connect -translation_of: Mozilla/Connect ---- -
-

Enable, inspire and collaborate to make the Web the primary platform used to create experiences across all connected devices.

-
- - -
-
-
- -
- -
- -
- -
- -
-
- -
-

Connect with Mozilla

- -

Developers are creating the future by building services and apps for people all over the world. The goal of Mozilla Developer Relations is to help developers to use open and standardized web technologies to succeed in achieving their goals. In addition to the documentation here on MDN, we offer help and other resources towards this goal, through various channels. We invite you to connect, learn, and share your own knowledge.

- -

We are offering help through Q&A on Stack Overflow, to solve specific technical issues and challenges you might have. We also have a newsletter keeping you informed on the latest happenings in the web scene around web apps and more. Subscribe to the Apps & Hacks newsletter.

- -

If you share Mozilla's mission and principles, and want to help spread them to more developers, check out the ways you can get involved with technical evangelism, and join our evangelism discussion group.

- -

We have a lot of plans and ideas for iteratively expanding our Developer Relations offerings, and we want you involved as we do so! So, follow the tags on Stack Overflow, subscribe to the Hacks blog, subscribe to the newsletter, and sign up for an account!

-
- -
-
-

Q&A on Stack Overflow See all Q&A...

- -

We have Q&A to discuss challenges and issues when developing, in particular for Firefox OS and the Open Web on mobile. It's available on Stack Overflow under the easy URL http://stackoverflow.com/r/mozilla.

- - -
Stack form
- -

Latest Q&A Topics

-
- -
 
-
- -

Developers at a Firefox OS workshop in Madrid.

- -
-
-

Where is Mozilla? View attendees and details on our Events page...

- -

Here is a listing of events where Mozilla representatives will be speaking. Make sure to talk to them!

-
- - -
-
- -

 

diff --git a/files/fa/mozilla/firefox_for_android/index.html b/files/fa/mozilla/firefox_for_android/index.html deleted file mode 100644 index 2cf583fac0..0000000000 --- a/files/fa/mozilla/firefox_for_android/index.html +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Firefox for Android -slug: Mozilla/Firefox_for_Android -translation_of: Mozilla/Firefox_for_Android ---- -

For more and more people mobile devices are the primary way, or even the only way, to access the Web. Firefox for Android (codenamed Fennec) is an open, hackable, standards-based browser, just like the desktop Firefox.

- -

Firefox for Android constructs its user interface from native Android widgets instead of XUL: this greatly improves performance, especially startup time, and memory consumption.

- -

Contribute to Firefox for Android

- -

The main starting point for information about the Firefox for Android project itself is the project "Get Involved" page.

- -

You can help us to create and improve Firefox for Android:

- - - -

Develop for the mobile web

- -

We've started putting together a guide to designing web sites for mobile devices.

- -

With Firefox for Android, you've got access a number of APIs that expose the underlying capabilities of the device, closing the gap between the Web and native applications:

- - - -

To test your web site on Firefox for Android, you can install it on an Android device or run it on your desktop using the Android Emulator.

- -

Build mobile add-ons

- -

Firefox for Android supports add-ons using the exact same extension system used by all other Gecko-based applications. We did not invent a new add-on system. This means that building an add-on for Firefox on Android is the same process that would be used for desktop Firefox. Add-ons that work with desktop Firefox do not automatically work in Firefox on Android. The user interfaces are just too different.

- -
Firefox on Android has a unique application identifier which must be used in install.rdf. The identifier is {aa3c5121-dab2-40e2-81ca-7ea25febc110}
- -

Both classic restart-required and newer restartless add-on approaches are supported. Using the restartless approach is preferred whenever possible because the user experience is far superior to forcing an application restart when installing or removing an add-on.

- -

Quick Overview

- - - -

Get help with Firefox for Android

- -

Documentation and tutorials for using and troubleshooting Firefox for Android are available on the Mozilla Support website.

diff --git a/files/fa/mozilla/marketplace/publishing/submit/index.html b/files/fa/mozilla/marketplace/publishing/submit/index.html deleted file mode 100644 index 265a1ad776..0000000000 --- a/files/fa/mozilla/marketplace/publishing/submit/index.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Submit -slug: Mozilla/Marketplace/Publishing/Submit -tags: - - NeedsTranslation - - TopicStub -translation_of: Archive/Mozilla/Marketplace/Publishing/Submit ---- -

This section describes the process for submitting an app to Firefox Marketplace

-

Residual details: https://developer.mozilla.org/en-US/Marketplace/Publishing/Submit/Submitting_an_app

diff --git a/files/fa/mozilla/mobile/index.html b/files/fa/mozilla/mobile/index.html deleted file mode 100644 index 669a69a9ed..0000000000 --- a/files/fa/mozilla/mobile/index.html +++ /dev/null @@ -1,32 +0,0 @@ ---- -title: Mobile -slug: Mozilla/Mobile -tags: - - Mozilla - - NeedsTranslation - - TopicStub -translation_of: Mozilla/Mobile ---- -

Firefox OS

- -

Firefox OS is an open source mobile operating system which uses Linux and Mozilla's Gecko engine to run a user interface and set of applications written entirely in HTML, CSS and JavaScript.

- -

Read about how to install Firefox OS and how to develop apps for it.

- -

Firefox for Android

- -

Firefox for Android is Mozilla's mobile web browser for Android devices. It's recently been rewritten to use Android's native UI, making it faster, leaner and more responsive. It provides support for powerful APIs to access device capabilities such as the camera and telephony stack.

- -

Read about how to help create Firefox for Android, how to use its device APIs, and how to build mobile add-ons.

- -

Firefox for iOS

- -

Firefox for iOS is Mozilla's upcoming mobile web browser for iOS devices. Because of AppStore restrictions, it uses the built in WebView supplied by iOS rather than Gecko.

- -

Read about how to help with Firefox for iOS, and how to integrate it with your other iOS Apps.

- -

Mobile web development

- -

Mobile devices have very different hardware characteristics from desktop or laptop computers, and many of the APIs used to work with them are still in the process of being standardized.

- -

Read about how to develop web sites that look good on mobile devices and take advantage of the new possibilities they offer. Learn how to make sure your web site works well on different browsers.

diff --git a/files/fa/mozilla/mobile/viewport_meta_tag/index.html b/files/fa/mozilla/mobile/viewport_meta_tag/index.html deleted file mode 100644 index e946b4c832..0000000000 --- a/files/fa/mozilla/mobile/viewport_meta_tag/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Using the viewport meta tag to control layout on mobile browsers -slug: Mozilla/Mobile/Viewport_meta_tag -translation_of: Mozilla/Mobile/Viewport_meta_tag ---- -

Background

- -

The browser's {{glossary("viewport")}} is the area of the window in which web content can be seen. This is often not the same size as the rendered page, in which case the browser provides scrollbars for the user to scroll around and access all the content.

- -

Narrow screen devices (e.g. mobiles) render pages in a virtual window or viewport, which is usually wider than the screen, and then shrink the rendered result down so it can all be seen at once. Users can then pan and zoom to see different areas of the page. For example, if a mobile screen has a width of 640px, pages might be rendered with a virtual viewport of 980px, and then it will be shrunk down to fit into the 640px space.

- -

This is done because many pages are not mobile optimized, and break (or at least look bad) when rendered at a small viewport width. This virtual viewport is a way to make non-mobile-optimized sites in general look better on narrow screen devices.

- -

Enter viewport meta tag

- -

However, this mechanism is not so good for pages that are optimized for narrow screens using media queries — if the virtual viewport is 980px for example, media queries that kick in at 640px or 480px or less will never be used, limiting the effectiveness of such responsive design techniques.

- -

To mitigate this problem, Apple introduced the "viewport meta tag" in Safari iOS to let web developers control the viewport's size and scale. Many other mobile browsers now support this tag, although it is not part of any web standard. Apple's documentation does a good job explaining how web developers can use this tag, but we had to do some detective work to figure out exactly how to implement it in Fennec. For example, Safari's documentation says the content is a "comma-delimited list," but existing browsers and web pages use any mix of commas, semicolons, and spaces as separators.

- -

Learn more about viewports in different mobile browsers in A Tale of Two Viewports at quirksmode.org.

- -

Viewport basics

- -

A typical mobile-optimized site contains something like the following:

- -
<meta name="viewport" content="width=device-width, initial-scale=1">
- -

The width property controls the size of the viewport. It can be set to a specific number of pixels like width=600 or to the special value device-width, which is the width of the screen in CSS pixels at a scale of 100%. (There are corresponding height and device-height values, which may be useful for pages with elements that change size or position based on the viewport height.)

- -

The initial-scale property controls the zoom level when the page is first loaded. The maximum-scale, minimum-scale, and user-scalable properties control how users are allowed to zoom the page in or out.

- -

A pixel is not a pixel

- -

In recent years, screen resolutions have risen to the size that individual pixels are hard to distinguish with the human eye. For example, recent smartphones generally have a 5-inch screens with resolutions upwards of 1920—1080 pixels (~400 dpi). Because of this, many browsers can display their pages in a smaller physical size by translating multiple hardware pixels for each CSS "pixel". Initially this caused usability and readability problems on many touch-optimized web sites. Peter-Paul Koch wrote about this problem in A pixel is not a pixel.

- -

On high dpi screens, pages with initial-scale=1 will effectively be zoomed by browsers. Their text will be smooth and crisp, but their bitmap images will probably not take advantage of the full screen resolution. To get sharper images on these screens, web developers may want to design images – or whole layouts – at a higher scale than their final size and then scale them down using CSS or viewport properties. This is consistent with the CSS 2.1 specification, which says:

- -
-

If the pixel density of the output device is very different from that of a typical computer display, the user agent should rescale pixel values. It is recommended that the pixel unit refer to the whole number of device pixels that best approximates the reference pixel. It is recommended that the reference pixel be the visual angle of one pixel on a device with a pixel density of 96dpi and a distance from the reader of an arm's length.

-
- -

For web developers, this means that the size of a page is much smaller than the actual pixel count and browsers may size their layouts and images accordingly. But remember that not all mobile devices are the same width; you should make sure that your pages work well in a large variation of screen sizes and orientations.

- -

The default pixel ratio depends on the display density. On a display with density less than 200dpi, the ratio is 1.0. On displays with density between 200 and 300dpi, the ratio is 1.5. For displays with density over 300dpi, the ratio is the integer floor(density/150dpi). Note that the default ratio is true only when the viewport scale equals 1. Otherwise, the relationship between CSS pixels and device pixels depends on the current zoom level.

- -

Viewport width and screen width

- -

Sites can set their viewport to a specific size. For example, the definition "width=320, initial-scale=1" can be used to fit precisely onto a small phone display in portrait mode. This can cause problems when the browser doesn't render a page at a larger size. To fix this, browsers will expand the viewport width if necessary to fill the screen at the requested scale. This is especially useful on large-screen devices like the iPad. (Allen Pike's Choosing a viewport for iPad sites has a good explanation for web developers.)

- -

For pages that set an initial or maximum scale, this means the width property actually translates into a minimum viewport width. For example, if your layout needs at least 500 pixels of width then you can use the following markup. When the screen is more than 500 pixels wide, the browser will expand the viewport (rather than zoom in) to fit the screen:

- -
<meta name="viewport" content="width=500, initial-scale=1">
- -

Other attributes that are available are minimum-scale, maximum-scale, and user-scalable. These properties affect the initial scale and width, as well as limiting changes in zoom level.

- -

Not all mobile browsers handle orientation changes in the same way. For example, Mobile Safari often just zooms the page when changing from portrait to landscape, instead of laying out the page as it would if originally loaded in landscape. If web developers want their scale settings to remain consistent when switching orientations on the iPhone, they must add a maximum-scale value to prevent this zooming, which has the sometimes-unwanted side effect of preventing users from zooming in:

- -
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
- -

Suppress the small zoom applied by many smartphones by setting the initial scale and minimum-scale values to 0.86. The result is horizontal scroll is suppressed in any orientation and the user can zoom in if they want to.

- -
<meta name="viewport" content="width=device-width, initial-scale=0.86, maximum-scale=3.0, minimum-scale=0.86">
- -

Common viewport sizes for mobile and tablet devices

- -

If you want to know what mobile and tablet devices have which viewport widths, there is a comprehensive list of mobile and tablet viewport sizes here. This gives information such as viewport width on portrait and landscape orientation as well as physical screen size, operating system and the pixel density of the device.

- -

Specifications

- - - - - - - - - - - - - - - - -
SpecificationStatusComment
{{SpecName('CSS3 Device', '#viewport-meta', '<meta name="viewport">')}}{{Spec2('CSS3 Device')}}Non-normatively describes the Viewport META element
- -

There is clearly demand for the viewport meta tag, since it is supported by most popular mobile browsers and used by thousands of web sites. It would be good to have a true standard for web pages to control viewport properties. As the standardization process proceeds, we at Mozilla will work to keep up to date with any changes.

diff --git a/files/fa/mozilla/projects/index.html b/files/fa/mozilla/projects/index.html deleted file mode 100644 index d7e62c6882..0000000000 --- a/files/fa/mozilla/projects/index.html +++ /dev/null @@ -1,15 +0,0 @@ ---- -title: Projects -slug: Mozilla/Projects -tags: - - Landing - - Mozilla - - NeedsContent - - NeedsTranslation - - Projects - - TopicStub -translation_of: Mozilla/Projects ---- -

Here you'll find links to documentation about various Mozilla projects; these are often parts of Firefox or other products, but may also be used in other projects as well.

- -

{{ LandingPageListSubpages() }}

diff --git a/files/fa/mozilla/projects/nss/index.html b/files/fa/mozilla/projects/nss/index.html deleted file mode 100644 index 68b4961e63..0000000000 --- a/files/fa/mozilla/projects/nss/index.html +++ /dev/null @@ -1,176 +0,0 @@ ---- -title: Network Security Services -slug: Mozilla/Projects/NSS -translation_of: Mozilla/Projects/NSS ---- -

خدمات امنیت شبکه ( NSS ) مجموعه ای از کتابخانه های طراحی شده برای پشتیبانی از توسعه کراس پلت فرم از برنامه های امنیتی و کلاینت و سرور است. برنامه های ساخته شده با NSS می توانند از SSL v3، TLS، PKCS # 5، PKCS # 7، PKCS # 11، PKCS # 12، S / MIME، X.509 v3 و دیگر استانداردهای امنیتی پشتیبانی کند.

- -

برای اطلاعات دقیق در مورد استانداردهای پشتیبانی، به بررسی اجمالی از NSS . برای یک لیست از سوالات متداول، به پرسش های متداول مراجعه کنید .

- -

NSS تحت مجوز عمومی Mozilla موجود است. برای اطلاعات در مورد دانلود منتشر شده NSS به عنوان فایل های tar، به دانلود منبع PKI مراجعه کنید .

- -

اگر شما یک توسعه دهنده هستید و مایل به مشارکت در NSS هستید، ممکن است بخواهید که اسناد سطح بالا را از جزئیات داخلی NSS و شروع به کار با NSS بخوانید .

- - - - - - - - -
-

مستندات

- -

اطلاعات پس زمینه

- -
-
بررسی NSS
-
خلاصه ای از NSS و قابلیت های آن را ارائه می دهد.
-
سوالات متداول NSS
-
پرسش های اساسی در مورد NSS پاسخ می دهد.
-
مقدمه ای بر رمزنگاری عمومی کلید
-
مفاهیم اساسی رمزنگاری عمومی کلید که NSS را پایه گذاری می کنند را توضیح می دهد.
-
معرفی SSL
-
پروتکل SSL را معرفی می کند، از جمله اطلاعاتی درباره رمزهای رمزنگاری پشتیبانی شده توسط SSL و مراحل مربوط به دستکاری SSL.
-
- -

شروع شدن

- -
-
انتشارات NSS
-
این صفحه حاوی اطلاعاتی درباره نسخه های فعلی و گذشته NSS است.
-
دریافت کد منبع و ساخت آن
-
دستورالعمل در مورد نحوه ساخت NSS در سیستم عامل های پشتیبانی شده مختلف.
-
کد منبع موزیلا را با استفاده از Mercurial دریافت کنید
-
اطلاعات در مورد کار با Mercurial.
-
دریافت کد منبع موزیلا با استفاده از CVS (نامعتبر)
-
مستندات CVS قدیمی ضعیف
-
- -

API های NSS

- -
-
مقدمه ای بر خدمات امنیتی شبکه
-
یک مرور کلی از کتابخانه های NSS و آنچه شما باید بدانید که از آنها استفاده می کنید را ارائه می دهد.
-
توابع عمومی NSS SSL
-
خلاصه API های SSL صادر شده توسط کتابخانه های اشتراک NSS.
-
NSS SSL مرجع
-
API برای فراخوانی عملیات SSL استفاده می شود.
-
راهنمای NSS API
-
توضیح می دهد که چگونه کتابخانه ها و کد ها سازماندهی شده اند و دستورالعمل هایی برای توسعه کد (کنفرانس نامگذاری، اداره خطا، ایمنی موضوع، و غیره)
-
نکات فنی NSS
-
پیوند به یادداشت های فنی NSS، که آخرین اطلاعات مربوط به ویژگی های NSS جدید و مستندات تکمیلی را برای موضوعات پیشرفته در برنامه نویسی با NSS ارائه می دهد.
-
- -

ابزار، تست و سایر مشخصات فنی

- -
-
دستورالعمل ساخت NSS
-
Describe how to check out and build NSS releases.
-
- -
-
NSS Developer Tutorial
-
How to make changes in NSS. Coding style, maintaining ABI compatibility.
-
- -
-
NSS Tools
-
Tools for developing, debugging, and managing applications that use NSS.
-
Sample Code
-
Demonstrates how NSS can be used for cryptographic operations, certificate handling, SSL, etc.
-
Third-Party Code
-
A list of third-party code included in the NSS library.
-
NSS 3.2 Test Suite
-
Archived version. Describes how to run the standard NSS tests.
-
NSS Performance Reports
-
Archived version. Links to performance reports for NSS 3.2 and later releases.
-
Encryption Technologies Available in NSS 3.11
-
Archived version. Lists the cryptographic algorithms used by NSS 3.11.
-
NSS 3.1 Loadable Root Certificates
-
Archived version. Describes the scheme for loading root CA certificates.
-
cert7.db
-
Archived version. General format of the cert7.db database.
-
- -

PKCS #11 information

- - - -
-
- -

CA certificates pre-loaded into NSS

- - - -
-
- -

NSS is built on top of Netscape Portable Runtime (NSPR)

- -
-
Netscape Portable Runtime
-
NSPR project page.
-
NSPR Reference
-
اسناد API NSPR
-
- -

اطلاعات اضافی

- - - -

برنامه ریزی

- -

اطلاعات مربوط به برنامه ریزی NSS را می توانید در wiki.mozilla.org پیدا کنید ، از جمله:

- - -
-

جامعه

- -
    -
  • مشاهده انجمن های امنیتی موزیلا ...
  • -
- -

{{DiscussionList ("dev-security"، "mozilla.dev.security")}}

- -
    -
  • مشاهده انجمن های رمزنگاری موزیلا ...
  • -
- -

{{DiscussionList ("dev-tech-crypto"، "mozilla.dev.tech.crypto")}}

- - - - -
- -

 

diff --git a/files/fa/mozilla/projects/psm/index.html b/files/fa/mozilla/projects/psm/index.html deleted file mode 100644 index 14df349b24..0000000000 --- a/files/fa/mozilla/projects/psm/index.html +++ /dev/null @@ -1,13 +0,0 @@ ---- -title: Personal Security Manager (PSM) -slug: Mozilla/Projects/PSM -translation_of: Mozilla/Projects/PSM ---- -

مدیر امنیت شخصی (PSM) متشکل از مجموعه ای از کتابخانه ها است که عملیات رمزگذاری را از طرف برنامه مشتری انجام می دهند. این عملیات شامل راه اندازی اتصال SSL ، امضای شی و تأیید امضا ، مدیریت گواهینامه (از جمله صدور و ابطال) و سایر توابع رایج PKI است.

- -

یادداشت:

- - diff --git a/files/fa/mozilla/projects/rhino/index.html b/files/fa/mozilla/projects/rhino/index.html deleted file mode 100644 index 99391813c4..0000000000 --- a/files/fa/mozilla/projects/rhino/index.html +++ /dev/null @@ -1,20 +0,0 @@ ---- -title: Rhino -slug: Mozilla/Projects/Rhino -translation_of: Mozilla/Projects/Rhino ---- -

Image:rhino.jpg

- -

Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. It is embedded in J2SE 6 as the default Java scripting engine.

- -

Rhino downloads

- -

How to get source and binaries

- -

Rhino documentation

- -

Information on Rhino for script writers and embedders.

- -

Rhino help

- -

Some resources if you get stuck.

diff --git a/files/fa/mozilla/tech/index.html b/files/fa/mozilla/tech/index.html deleted file mode 100644 index c084ed3bb5..0000000000 --- a/files/fa/mozilla/tech/index.html +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Mozilla technologies -slug: Mozilla/Tech -translation_of: Mozilla/Tech ---- -

(fa translation)

- -

Mozilla has several technologies used as components of its projects. These are documented here.

- -

{{LandingPageListSubpages}}

diff --git "a/files/fa/mozilla/\330\250\330\247\330\262\330\247\330\261/index.html" "b/files/fa/mozilla/\330\250\330\247\330\262\330\247\330\261/index.html" deleted file mode 100644 index 5bac76b631..0000000000 --- "a/files/fa/mozilla/\330\250\330\247\330\262\330\247\330\261/index.html" +++ /dev/null @@ -1,95 +0,0 @@ ---- -title: بازار فایرفاکس -slug: Mozilla/بازار -translation_of: Archive/Mozilla/Marketplace ---- -
بازار فایرفاکس یک بازار آنلاین و باز غیر اختصاصی برای ساخت نرم افزارهای تحت وب بر پایه HTML5 است.
- -
-

بازار فایرفاکس توسعه دهندگان را قادر می سازد تا  نرم افزارهای متن باز تحت وب را با استفاده از تکنولوژی‌های استاندارد وب، زبان‌ها، و ابزارها انتشار دهند. موزیلا ارزش‌های اصلی خود — بازبودن، آزادی، انتخاب کاربر — را برای دنیای نرم افزارها به ارمغان می‌آورد.

-
- -
-
-

انتشار نرم افزار شما

- -
-
گزینه‌های انتشار برنامه
-
پس از این‌که شما یک نرم افزار تحت وب متن باز ساختید، گزینه‌های مختلفی برای انتشار به دنیای خارج در دسترس خواهد بود. این مقاله گزینه‌های در دسترس را توضیح می‌دهد.
-
ارسال یک نرم افزار به بازار فایرفاکس
-
راهنمای مفصلی برای کسانی که مایل به انتشار نرم افزار در بازار فایرفاکس هستند.
-
مباحث عمومی انتشار نرم افزار
-
اطلاعات عمومی و نکات کاربردی در مورد انتشار نرم افزار متن باز تحت وب.
-
API‌های بازار فایرفاکس
-
اتصال به مرجع اصلی راهنمای API‌های بازار فایرفاکس را پوشش می‌دهد، و شما می‌توانید حساب‌های پرداخت نرم افزار، توابع خودکار نرم افزار، و دیگر موارد را پیکربندی کنید.
-
-
- -
-

کسب درآمد

- -
-
سود بردن از نرم افزار خودتان
-
شما به‌سختی برروی کدنویسی آخرین برنامه خود کار کرده‌اید، اما چطور می‌توان هنگام انتشار برنامه‌تان از آن کسب درآمد کنید؟ این مقاله معرفی مفصلی در مورد پیاده سازی پرداخت‌های برنامه، شامل پرداخت‌های بازار و پرداخت‌های درون برنامه‌ای دارد.
-
- -

ابزارهایی برای توسعه نرم افزار

- - - -

ساخت بازار خودتان

- -
-
ساخت یک فروشگاه
-
شما نباید از بازار فایرفاکس برای توزیع برنامه خودتان استفاده کنید.
-
-
-
- - - -
    -
  1. App Submission & Review - -
      -
    1. Submitting an app to the Firefox Marketplace
    2. -
    3. Obtaining a rating for your app
    4. -
    5. Marketplace review criteria
    6. -
    7. Marketplace screenshot criteria
    8. -
    9. Privacy policy
    10. -
    11. App testing and troubleshooting
    12. -
    -
  2. -
  3. App Publishing -
      -
    1. Publishing options
    2. -
    3. Packaged Apps
    4. -
    5. Updating apps
    6. -
    7. Open web apps for Android
    8. -
    9. Adding a subdomain for an app
    10. -
    11. Creating a store
    12. -
    -
  4. -
  5. Monetization -
      -
    1. Profiting from your app
    2. -
    3. App payments guide
    4. -
    5. In-app payments
    6. -
    7. Validating a receipt
    8. -
    9. App pricing list
    10. -
    11. Payments Status
    12. -
    -
  6. -
  7. Marketplace APIs -
      -
    1. Marketplace utility library
    2. -
    3. Submission API
    4. -
    5. Payment API
    6. -
    7. Marketplace API
    8. -
    -
  8. -
  9. Firefox Marketplace FAQ
  10. -
-- cgit v1.2.3-54-g00ecf