اذهب إلى المحتوى

لوحة المتصدرين

  1. Wael Aljamal

    Wael Aljamal

    الأعضاء


    • نقاط

      5

    • المساهمات

      6975


  2. عبدالله عبدالرحمن11

    • نقاط

      3

    • المساهمات

      526


  3. Abdullah Muhammad

    Abdullah Muhammad

    الأعضاء


    • نقاط

      3

    • المساهمات

      118


  4. Adnane Kadri

    Adnane Kadri

    الأعضاء


    • نقاط

      2

    • المساهمات

      5196


المحتوى الأكثر حصولًا على سمعة جيدة

المحتوى الأعلى تقييمًا في 05/12/21 في كل الموقع

  1. لعمل شرط فيماإذا كانت سلسلة محتواة في أخرى يمكننا استخدام التعليمة in: حيث أنها تعيد true | false x="you are the best" if 'the' in x: print("yes") للبحث عن موقع الكلمة نستخدم الدالة find: index = x.find("the") print(index) حيث تعيد دليل العنصر (0 إلى طول السلسة - 1) في حال كان موجود، وإلا تعيد -1.
    2 نقاط
  2. هل يمكنك مشاركة التعديلات التي قمت بها من فضلك. imagecode تتولد تلقائيا ب 6 عنصر ومن ثم لكل عنصر ضمن حلقة for يتم عمل post، يمكنك اختبار القيمة فيما اذا كانت صالحة (الصورة تم اختيارها) قبل عمل الاتصال أو تحديد عدداد Counter بعدد الصور المختارة لتمشي إليه الحلقة ولا تمر على جميع ال 6 عناصر.
    1 نقطة
  3. يوجد متغير في بيئة أندرويد يشير مباشرة لمجلد التحميل Downloads : Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); حيث يتم جلبه من متغيرات البيئة Environment. حيث نمرر هذه القيمة للدالة getExternalStoragePublicDirectory المسؤولة عن جلب مسار المجلدات الخارجية العامة. طبعا لا تنسى إعطاءسماحية الوصول: <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> في Android Mainfest. مسار تخزين الملف: final String relativeLocation = Environment.DIRECTORY_DOWNLOADS + File.separator + “YourSubforderName”; للتأكد من المسار يمكنك طباعة القيمة التالية (مثلا في Toast أو log) File dir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); dir.getAbsolutePath()
    1 نقطة
  4. يمكننا إضافة TextWatcher للحقل edit text عن طريق الدالة afterTextChanged التي تنفذ حدثا ما بعد التوقف عن الكتابة: يمكنك الاستفادة من الشيفرة التالية: TextWatcher inputTextWatcher = new TextWatcher() { public void afterTextChanged(Editable s) { textview.setText(s.toString()); // تعديل عنصر العرض المستهدف } }; editText.addTextChangedListener(inputTextWatcher); // جعل مستقل حدث التغيير مرتبط مع حقل الإدخال إذا أردت تغييرات لحظية استبدال الدالة after text change بالدالة onTextChage: TextWatcher inputTextWatcher = new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { textview.setText(s); //... } }; editText.addTextChangedListener(inputTextWatcher); توثيق: android/text/TextWatcher
    1 نقطة
  5. canvas هو عنصر HTML بحيث يمنحك طريقة سهلة وفعالة لرسم الرسومات بإستخدام JavaScript فبإستخدام JavaScript يمكنك رسم الصورة على ال Canvas ومن ثم رسم أي نص على الCanvas فوق الصورة يمكنك الذهاب الى موقع w3school للتعرف على المزيد من المعلومات
    1 نقطة
  6. غرض تمرير بيانات في المسار هو لجعل الصفحة تظهر بشكل ديناميكي غير ثابت , ولفعل هذا في مكتبة gatspy ستحتاج الواجهة createPage لبناء أي صفحات ديناميكية و متغيرة (مثل صفحات البروفايل أو صفحة المنتج أو المقالة و غيرها) , في حين أن كل الصفحات الثابتة تبنى و تصدر بطريقة عادية بداخل src/pages . مثال عملي : بداخل ملف gatsby-node.js نقوم بتصدير الثابت createPages على هذا النحو : export const createPages = ({ actions }) => { const { createPage } = actions; createPage({ // تعريف المسار path: '/users/YOURID', // تعريف المكون المعاد في المسار component: YourRelatedComponent, // إرسال بيانات مخصصة للمكون context: { userID: 'YOURID', }, }); }; ثم يمكنك الوصول للبيانات الممررة بشكل عادي . إقرأ أكثر عن إنشاء و تعديل الصفحات في Gatspy هنا.
    1 نقطة
  7. يبدو أن المشكلة في الوصول إلى الـ loader بداخل مجلد الـ node_modules . تأكد أن تقوم بإعادة تثبيت url-loader عن طريق الأمر : npm install url-loader --save-dev ثم قم بإعادة البناء . و أيضا , قم بالتأكد أنك تقوم بتمرير اللاحقة loader- لكل الـ loaders المعنية على هذا النحو : loaders: [ { test: /\.css$/, loader: "style-loader!css-loader" }, ] و ذلك عوضا عن : loaders: [ { test: /\.css$/, loader: "style!css" }, ] هذا سيقوم بتجنب مشكلة إعتبار style أو css مثلا (دون لاحقة) كالـ module المعني بالعملية في حين أن القائم بالعملية هي الموديلات css-loader و url-loader و هكذا .
    1 نقطة
  8. يمكنك إستخدام gatsby-plugin-intl لإنشاء موقع متعدد اللغات وذلك كالتالي npm install gatsby-plugin-intl بعد ذلك في ملف gatsby-config.js نقوم بإضافة الإعدادات الخاصه بالإضافة كالتالي module.exports = { plugins: [ { resolve: `gatsby-plugin-intl`, options: { // المسار الذي سيتواجد به ملفات الترجمه path: `${__dirname}/src/langs`, // اللغات التي تود إستخدامها languages: [`ar`, `en`], // اللغة الإفتراضية للموقع defaultLanguage: `ar`, }, }, ], } بعد ذلك في المسار الذي حددته تقوم بإنشاء ملف خاص بكل لغه يحتوي على ترجمة المصطلحات المطلوبه ولكن لابد من مراعاة بعض الأمور لابد أن يكون إسم الملف كالتالي "[language].json" ف علي سبيل المثال "ar.json" "en.json" لابد من إستخدام نفس ال id الدال على الترجمه في كل ملف بحيث يكون شكل الملفات الناتجة كالتالي // ar.json { "aboutUs": "عنا", "comments": "التعليقات", "home": "الصفحة الرئيسية" } // وفي ملف en.json { "aboutUs": "about us", "comments": "Comments", "home": "Home Page" } بعد ذلك يمكنك تطبيق الترجمه داخل كل مكون او صفحة كالتالي import React from "react" import { useIntl } from "gatsby-plugin-intl" export default function Index() { const intl = useIntl() const locale = intl.locale !== "en" ? `/${intl.locale}` : "" return ( <div>{intl.formatMessage({ id: "home" })}</div> ) } حيث أنه بإستخدام "formatMessage" وتمرير ال id الذي نريد إيجاد الترجمة الخاصة به سوف يتم توليد المحتوى المطلوب على حسب اللغة المختاره يتبقى لنا أن نعرف كيف نقوم بالتبديل بين اللغات المتوفرة لدينا وذلك كالتالي import React from "react" import { Link } from "gatsby" export default function LanguageSelector({ label, className }) { return ( <div> <ul> <li> <Link to="/en">En</Link> </li> <li> <Link to="/">Ar</Link> </li> </ul> </div> ) }
    1 نقطة
  9. الخطأ هنا يكمن في أن مسار الصورة الذي تحدده خطأ لتلافي مشاكل المسارات مع الصور يمكنك ببساطه إنشاء مجلد "static" في المسار الرئيسي للمشروع وإنشاء مجلد "images" بداخله ليحتوي على الصور الخاصة بالمشروع وبالتالي في أي مكان داخل المشروع إذا ما أردت إستخدام صورة يمكنك بكل بساطه القيام بالتالي كمثال .brand { background-image: url('/images/logo.png'); }
    1 نقطة
  10. يمكننا إستخدام jquery بطريقتين الإولى من CDN وذلك كالتالي في ملف gatsby-ssr.js const React = require("react") export const onRenderBody = ({ setHeadComponents }, pluginOptions) => { setHeadComponents([ <script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossOrigin="anonymous"> </script>, ]) } بعد ذلك في نحتاج أن نضيف jquery إلى ويب باك وذلك في ملف gatsby-node.js كالتالي exports.onCreateWebpackConfig = ({ actions, }) => { const { setWebpackConfig } = actions; setWebpackConfig({ externals: { jquery: 'jQuery', } }) } الثانيه ما إذا كان مشروعك يتضمن ملفات ال jquery يمكنك إستخدام helmet في هذه الحالة كالتالي // layout.js import { withPrefix } from "gatsby" const Component = ({ children }) => ( <> <Helmet> <script src={withPrefix('../../scripts/jquery.min.js')} type="text/javascript" /> </Helmet> </> )
    1 نقطة
  11. يمكنك إستخدام JavaScript و HTML Canvas لرسم الصورة في ال Canvas ورسم النص على ال Canvas window.onload = function(){ var canvas = document.getElementById("myCanvas"); var context = canvas.getContext("2d"); var imageObj = new Image(); imageObj.onload = function(){ context.drawImage(imageObj, 10, 10); context.font = "20px Calibri"; context.fillText("My TEXT!", 50, 200); }; imageObj.src = "mail-image.jpg"; }; وإضافة زر للتنزيل <canvas id="canvas" height="200"></canvas> <br /> <button id="download">Download</button> وإضافة كود لجعل الزر يقوم بتنزيل الصورة المعدلة const download = document.getElementById('download'); download.addEventListener('click', function(e) { var link = document.createElement('a'); link.download = 'download.png'; link.href = canvas.toDataURL() link.click(); link.delete; }); إذا كنت تريد التعرف على المزيد من التفاصيل بخصوص Canvas فيمكنك الذهاب الى موقع W3school أو MDN والذهاب الى صفحة Canvas
    1 نقطة
  12. انت الان تعرف بعض المكتبات الشهيرة ولكن لن تستطيع أن تعرف كل مكتبة ولا يجب عليك ذلك ليس هناك مكتبات ثابتة ولكن هناك مكتبات هي الأفضل في عملها عن غيرها من المكتبات انت تبحث عن مكتبة معينة عندما تحتاج لها وتقوم بإختيار أفضل مكتبة مناسبة لمشكلتك
    1 نقطة
×
×
  • أضف...