<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>الذكاء الاصطناعي والتكنولوجيا on kenji.blog</title><link>http://kenji.blog/ar/categories/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%A7%D9%84%D8%AA%D9%83%D9%86%D9%88%D9%84%D9%88%D8%AC%D9%8A%D8%A7/</link><description>Recent content in الذكاء الاصطناعي والتكنولوجيا on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ar</language><copyright>kenjinote</copyright><lastBuildDate>Sun, 20 Jul 2025 21:52:42 +0900</lastBuildDate><atom:link href="http://kenji.blog/ar/categories/%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%A7%D9%84%D8%AA%D9%83%D9%86%D9%88%D9%84%D9%88%D8%AC%D9%8A%D8%A7/index.xml" rel="self" type="application/rss+xml"/><item><title>جدار تطوير الذكاء الاصطناعي</title><link>http://kenji.blog/ar/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/</link><pubDate>Sun, 20 Jul 2025 21:52:42 +0900</pubDate><guid>http://kenji.blog/ar/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/</guid><description>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1.png" alt="Featured image of post جدار تطوير الذكاء الاصطناعي" />&lt;h1 id="جدار-تطوير-الذكاء-الاصطناعي">جدار تطوير الذكاء الاصطناعي
&lt;/h1>&lt;p>&lt;strong>〜 وصلنا إلى المحطة الثامنة، لكن ما بعدها كان جحيمًا 〜&lt;/strong>&lt;/p>
&lt;p>مرحبًا، أنا kenji.&lt;/p>
&lt;p>في الآونة الأخيرة، أسمع كثيرًا أشخاصًا يقولون: &amp;ldquo;طلبت من الذكاء الاصطناعي وصنع لي تطبيقًا!&amp;rdquo;
لقد تجاوزنا عصر البرمجة بدون كود (no-code) والبرمجة بقليل من الكود (low-code)، ودخلنا مرحلة &amp;ldquo;البرمجة بالأجواء&amp;rdquo; (vibe-coding).&lt;/p>
&lt;p>على سبيل المثال، إذا قلت: &amp;ldquo;اصنع لي تطبيقًا يمكنه تعديل الصور ونشرها على وسائل التواصل الاجتماعي&amp;rdquo;، سيقوم الذكاء الاصطناعي بإنشاء الكود وحتى واجهة المستخدم (UI).
قد تفكر: &lt;strong>&amp;ldquo;واو، لم نعد بحاجة إلى البشر، أليس كذلك؟&amp;rdquo;&lt;/strong>&lt;/p>
&lt;p>ولكن، هذا &lt;strong>يشبه النزول في المحطة الثامنة من جبل فوجي وأنت ترتدي صندلًا&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="حتى-المحطة-الثامنة-يبدو-الأمر-في-غاية-السهولة">حتى المحطة الثامنة يبدو الأمر &amp;ldquo;في غاية السهولة&amp;rdquo;
&lt;/h2>&lt;p>التطوير باستخدام الذكاء الاصطناعي يبدو سهلاً حقًا في البداية.
إدخال/إخراج الملفات (File I/O)؟ يعمل في الوقت الحالي.
الشبكة؟ حسنًا، إنها تتصل.
قاعدة البيانات؟ JSON يكفي.
واجهة المستخدم (UI)؟ كتب ChatGPT كود React بالفعل.
الدفع؟ يمكن نسخ ولصق واجهة برمجة تطبيقات (API) الخاصة بـ Stripe.&lt;/p>
&lt;p>هنا، يتبادر إلى ذهنك وهم: &amp;ldquo;هل أصبحت مهندسًا بالفعل؟&amp;rdquo;
لكن الجحيم الحقيقي يبدأ من هنا.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img.png"
width="1024"
height="1024"
srcset="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_huf56c5201f3b1d8f8800773fd39442f1f_2016892_480x0_resize_box_3.png 480w, http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_huf56c5201f3b1d8f8800773fd39442f1f_2016892_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p>
&lt;hr>
&lt;h2 id="لماذا-نتعثر">لماذا نتعثر؟
&lt;/h2>&lt;p>السبب بسيط: &amp;ldquo;الذكاء الاصطناعي يبني شيئًا يبدو مكتملًا، لكن التعديلات النهائية تُترك بالكامل للبشر.&amp;rdquo;&lt;/p>
&lt;ul>
&lt;li>ضياع البيانات أثناء إدخال/إخراج الملفات&lt;/li>
&lt;li>ضعف تطبيع قاعدة البيانات (DB normalization) مما يجعل البحث بطيئًا&lt;/li>
&lt;li>واجهة المستخدم غير بديهية&lt;/li>
&lt;li>عدم إجراء اختبارات الحمل، مما يؤدي إلى انهيار التطبيق عند زيادة الزيارات&lt;/li>
&lt;li>الرفض عند مراجعة التطبيق من قبل Apple/Google&lt;/li>
&lt;li>انتهاك المتطلبات القانونية (مما يكاد يسبب فضيحة)&lt;/li>
&lt;/ul>
&lt;p>بعبارة أخرى، &lt;strong>الذكاء الاصطناعي بارع في صنع &amp;ldquo;نموذج أولي يبدو كأنه مكتمل&amp;rdquo;&lt;/strong>، لكن
&lt;strong>تحويله إلى &amp;ldquo;منتج حقيقي جاهز للإطلاق في العالم&amp;rdquo; لا يزال عمل البشر حتى الآن&lt;/strong>.&lt;/p>
&lt;hr>
&lt;h2 id="لكن-هناك-مفارقة">لكن، هناك مفارقة
&lt;/h2>&lt;p>هنا نلاحظ &lt;strong>مفارقة&lt;/strong> واحدة.&lt;/p>
&lt;blockquote>
&lt;p>ماذا لو أصبح الذكاء الاصطناعي قادرًا حقًا على فعل كل شيء في المستقبل؟
بمعنى، ماذا لو &amp;ldquo;تم التعامل مع الأمان، والدفع، والتصميم بشكل مثالي بواسطة الذكاء الاصطناعي&amp;rdquo;؟&lt;/p>
&lt;/blockquote>
&lt;p>في تلك اللحظة، &lt;strong>قد تختفي الحاجة إلى قيام البشر بإنشاء التطبيقات من الأساس&lt;/strong>.&lt;/p>
&lt;p>لأنه إذا أخبر المستخدم الذكاء الاصطناعي مباشرة: &amp;ldquo;أريد القيام بهذا&amp;rdquo;،
فسيتم تنفيذ المهمة على الفور دون الحاجة إلى تطبيق.&lt;/p>
&lt;hr>
&lt;h3 id="-على-سبيل-المثال">🌀 على سبيل المثال
&lt;/h3>&lt;p>في الماضي، كنا &amp;ldquo;نفتح تطبيق الآلة الحاسبة لنقوم بالحساب&amp;rdquo;،
أما الآن، فيكفي أن نقول: &amp;ldquo;يا Siri، كم حاصل ضرب 12 في 32؟&amp;quot;، وينتهي الأمر.&lt;/p>
&lt;p>وبالمثل،
إذا قلنا: &amp;ldquo;أيها الذكاء الاصطناعي، قم بتعديل هذه الصورة وشاركها&amp;rdquo;، فقد تنتهي العملية دون المرور عبر واجهة المستخدم (UI) أو واجهة برمجة التطبيقات (API) الخاصة بالتطبيق.&lt;/p>
&lt;p>بمعنى آخر،
عندما يتحقق هدف &lt;strong>&amp;ldquo;إنشاء تطبيق بواسطة الذكاء الاصطناعي&amp;rdquo;&lt;/strong>، فقد يأتي عالم لا تكون فيه التطبيقات نفسها ضرورية.&lt;/p>
&lt;hr>
&lt;h2 id="في-النهاية-ما-الذي-يمكننا-فعله-الآن">في النهاية، ما الذي يمكننا فعله الآن؟
&lt;/h2>&lt;p>إذن، ماذا يجب أن نفعل؟&lt;/p>
&lt;ul>
&lt;li>بما أن &amp;ldquo;ما بعد المحطة الثامنة&amp;rdquo; لا يزال مجالًا بشريًا، فلنعمل على صقل مهاراتنا هناك&lt;/li>
&lt;li>التركيز على الفهم العميق للمستخدمين وتصميم الخدمات&lt;/li>
&lt;li>التفكير في &amp;ldquo;ما له قيمة&amp;rdquo; بدلًا من &amp;ldquo;ما يمكن صنعه&amp;rdquo;&lt;/li>
&lt;li>بالأحرى، البحث عن طرق لتقديم قيمة &amp;ldquo;لا تقتصر على شكل التطبيق&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>الذكاء الاصطناعي هو أداة، ومصعد، وأحيانًا منافس.
لكن، أسئلة &lt;strong>&amp;ldquo;ماذا نصنع&amp;rdquo;&lt;/strong> و &lt;strong>&amp;ldquo;لماذا نصنعه&amp;rdquo;&lt;/strong> لا تزال أسئلة تخصنا نحن البشر.&lt;/p>
&lt;hr>
&lt;h2 id="الخلاصة">الخلاصة:
&lt;/h2>&lt;p>&lt;strong>جدار تطوير الذكاء الاصطناعي ليس تكنولوجيا، بل هو مفارقة هيكلية&lt;/strong>&lt;/p>
&lt;p>نحن في عصر يمكن لأي شخص فيه الوصول إلى المحطة الثامنة من جبل فوجي.
لكن الاختبار الحقيقي يبدأ من هناك.&lt;/p>
&lt;p>وربما، عندما نصل إلى القمة، سيكون بانتظارنا مستقبل نسأل فيه أنفسنا:
&amp;ldquo;هل كان من الضروري حقًا تسلق هذا الجبل؟&amp;rdquo;&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1.png"
width="1024"
height="1024"
srcset="http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1_hu929f602c53dcc1c0d00e8a53b025b29e_1978511_480x0_resize_box_3.png 480w, http://kenji.blog/p/ai%E9%96%8B%E7%99%BA%E3%81%AE%E5%A3%81/img_1_hu929f602c53dcc1c0d00e8a53b025b29e_1978511_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="100"
data-flex-basis="240px"
>&lt;/p></description></item><item><title>تجربة mermaid.js</title><link>http://kenji.blog/ar/p/mermaid.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/</link><pubDate>Sat, 25 May 2024 02:18:09 +0900</pubDate><guid>http://kenji.blog/ar/p/mermaid.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/</guid><description>&lt;img src="http://kenji.blog/p/mermaid.js%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/img_2.png" alt="Featured image of post تجربة mermaid.js" />&lt;h2 id="ما-هو-mermaidjs">ما هو mermaid.js
&lt;/h2>&lt;p>mermaid.js هي مكتبة JavaScript تتيح لك كتابة بنية مخصصة تعتمد على النص (صيغة Mermaid) لعرض المخططات المعقدة رسومياً مثل المخططات الانسيابية والرسوم البيانية ومخططات جانت.
يتم استخدامها أيضاً في خدمات مختلفة مثل GitHub و Qiita و Notion. في هذه المرة، سنحاول تمكين استخدام mermaid.js في hugo.&lt;/p>
&lt;h2 id="تمكين-استخدام-mermaidjs-في-hugo">تمكين استخدام mermaid.js في hugo
&lt;/h2>&lt;p>الخطوات كالتالي:&lt;/p>
&lt;ol>
&lt;li>أضف التالي إلى layouts/partials/extend_footer.html.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">{{ if or .Params.mermaid .Site.Params.mermaid }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">src&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;https://cdn.jsdelivr.net/npm/mermaid@10.3.0/dist/mermaid.min.js&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{- $loadmermaid := resources.Get &amp;#34;js/load-mermaid.js&amp;#34; }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span> &lt;span class="na">src&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{{ $loadmermaid.RelPermalink }}&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">initMermaid&lt;/span>&lt;span class="p">();&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">isDarkTheme&lt;/span>&lt;span class="p">())&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">setPrefTheme&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">else&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">setPrefTheme&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;light&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">script&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{ end }}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>※ يتم تحميل &lt;code>mermaid.min.js&lt;/code> فقط إذا كان &lt;code>mermaid: true&lt;/code> في عبارة if. هذه المكتبة كبيرة نوعاً ما، حوالي 3 ميغابايت.&lt;/p>
&lt;ol start="3">
&lt;li>قم بإنشاء assets/js/load-mermaid.js. يتم استخدام هذه العملية للتهيئة وإعادة الرسم عند تبديل السمة ديناميكياً.&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;span class="lnt">26
&lt;/span>&lt;span class="lnt">27
&lt;/span>&lt;span class="lnt">28
&lt;/span>&lt;span class="lnt">29
&lt;/span>&lt;span class="lnt">30
&lt;/span>&lt;span class="lnt">31
&lt;/span>&lt;span class="lnt">32
&lt;/span>&lt;span class="lnt">33
&lt;/span>&lt;span class="lnt">34
&lt;/span>&lt;span class="lnt">35
&lt;/span>&lt;span class="lnt">36
&lt;/span>&lt;span class="lnt">37
&lt;/span>&lt;span class="lnt">38
&lt;/span>&lt;span class="lnt">39
&lt;/span>&lt;span class="lnt">40
&lt;/span>&lt;span class="lnt">41
&lt;/span>&lt;span class="lnt">42
&lt;/span>&lt;span class="lnt">43
&lt;/span>&lt;span class="lnt">44
&lt;/span>&lt;span class="lnt">45
&lt;/span>&lt;span class="lnt">46
&lt;/span>&lt;span class="lnt">47
&lt;/span>&lt;span class="lnt">48
&lt;/span>&lt;span class="lnt">49
&lt;/span>&lt;span class="lnt">50
&lt;/span>&lt;span class="lnt">51
&lt;/span>&lt;span class="lnt">52
&lt;/span>&lt;span class="lnt">53
&lt;/span>&lt;span class="lnt">54
&lt;/span>&lt;span class="lnt">55
&lt;/span>&lt;span class="lnt">56
&lt;/span>&lt;span class="lnt">57
&lt;/span>&lt;span class="lnt">58
&lt;/span>&lt;span class="lnt">59
&lt;/span>&lt;span class="lnt">60
&lt;/span>&lt;span class="lnt">61
&lt;/span>&lt;span class="lnt">62
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="p">(&lt;/span>&lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1">&amp;#39;use strict&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">elementCode&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s1">&amp;#39;.mermaid&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">loadMermaid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">initialize&lt;/span>&lt;span class="p">({&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">init&lt;/span>&lt;span class="p">({&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">},&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">elementCode&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">saveOriginalData&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nb">Promise&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="nx">resolve&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">reject&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">els&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">elementCode&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">forEach&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">element&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">setAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-original-code&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">innerHTML&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span>&lt;span class="o">--&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">count&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resolve&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">catch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">reject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">resetProcessed&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="kd">function&lt;/span>&lt;span class="p">(){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">return&lt;/span> &lt;span class="k">new&lt;/span> &lt;span class="nb">Promise&lt;/span>&lt;span class="p">((&lt;/span>&lt;span class="nx">resolve&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nx">reject&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">try&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kd">var&lt;/span> &lt;span class="nx">els&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">querySelectorAll&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">elementCode&lt;/span>&lt;span class="p">),&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">length&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">els&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">forEach&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">element&lt;/span> &lt;span class="p">=&amp;gt;&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-original-code&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="o">!=&lt;/span> &lt;span class="kc">null&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">removeAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-processed&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">innerHTML&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">element&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">getAttribute&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;data-original-code&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">count&lt;/span>&lt;span class="o">--&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">count&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">){&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resolve&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">});&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span> &lt;span class="k">catch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">reject&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kr">const&lt;/span> &lt;span class="nx">init&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="p">()=&amp;gt;{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">saveOriginalData&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span> &lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">error&lt;/span> &lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark-theme-set&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">()=&amp;gt;{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resetProcessed&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="nx">then&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">loadMermaid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">addEventListener&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;light-theme-set&amp;#39;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="p">()=&amp;gt;{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nx">resetProcessed&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="nx">then&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">loadMermaid&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;default&amp;#39;&lt;/span>&lt;span class="p">))&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">.&lt;/span>&lt;span class="k">catch&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">console&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">error&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">})&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">initMermaid&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="nx">init&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">})(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>تمت الإشارة إلى الكود الأصلي هنا:&lt;/p>
&lt;ul>
&lt;li>&lt;a class="link" href="https://github.com/mermaid-js/mermaid/issues/1945" target="_blank" rel="noopener"
>Reinitialize with new theme #1945&lt;/a>&lt;/li>
&lt;/ul>
&lt;ol start="3">
&lt;li>قم بتعديل عملية تبديل السمة في header.html&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-javascript" data-lang="javascript">&lt;span class="line">&lt;span class="cl">&lt;span class="kd">function&lt;/span> &lt;span class="nx">switchTheme&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">switch&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nx">theme&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">case&lt;/span> &lt;span class="s1">&amp;#39;light&amp;#39;&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="nx">or&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Site&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">dispatchEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">CustomEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;light-theme-set&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="nx">end&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">classList&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">remove&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">case&lt;/span> &lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="nx">or&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Site&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">dispatchEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">CustomEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark-theme-set&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="nx">end&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">classList&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">break&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1">// auto
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1">&lt;/span> &lt;span class="k">default&lt;/span>&lt;span class="o">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="p">(&lt;/span>&lt;span class="nb">window&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">matchMedia&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;(prefers-color-scheme: dark)&amp;#39;&lt;/span>&lt;span class="p">).&lt;/span>&lt;span class="nx">matches&lt;/span>&lt;span class="p">)&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="k">if&lt;/span> &lt;span class="nx">or&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">.&lt;/span>&lt;span class="nx">Site&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">Params&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">mermaid&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">dispatchEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="k">new&lt;/span> &lt;span class="nx">CustomEvent&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark-theme-set&amp;#39;&lt;/span>&lt;span class="p">));&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">{{&lt;/span> &lt;span class="nx">end&lt;/span> &lt;span class="p">}}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">document&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">body&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">classList&lt;/span>&lt;span class="p">.&lt;/span>&lt;span class="nx">add&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;dark&amp;#39;&lt;/span>&lt;span class="p">);&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="4">
&lt;li>قم بإنشاء layouts/shortcodes/mermaid.html&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-html" data-lang="html">&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">div&lt;/span> &lt;span class="na">class&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;mermaid&amp;#34;&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;{{ if .Get &amp;#34;&lt;/span>&lt;span class="na">align&lt;/span>&lt;span class="err">&amp;#34;&lt;/span> &lt;span class="err">}}{{&lt;/span> &lt;span class="err">.&lt;/span>&lt;span class="na">Get&lt;/span> &lt;span class="err">&amp;#34;&lt;/span>&lt;span class="na">align&lt;/span>&lt;span class="err">&amp;#34;&lt;/span> &lt;span class="err">}}{{&lt;/span> &lt;span class="na">else&lt;/span> &lt;span class="err">}}&lt;/span>&lt;span class="na">center&lt;/span>&lt;span class="err">{{&lt;/span> &lt;span class="na">end&lt;/span> &lt;span class="err">}}&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> {{ safeHTML .Inner }}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">div&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>الآن أصبح mermaid.js جاهزاً للاستخدام.&lt;/p>
&lt;h2 id="استخدام-mermaidjs">استخدام mermaid.js
&lt;/h2>&lt;ol>
&lt;li>أضف التالي إلى تعريف المقالة&lt;/li>
&lt;/ol>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-dtd" data-lang="dtd">&lt;span class="line">&lt;span class="cl">&lt;span class="err">marmaid:&lt;/span> &lt;span class="err">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;ol start="2">
&lt;li>أضف التالي إلى نص المقالة&lt;/li>
&lt;/ol>
&lt;p>&lt;strong>المخطط الانسيابي&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">mermaid&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;center&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[البداية] --&amp;gt;|الشرط 1| B(الشرط 2)
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C{الشرط 3}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|الشرط 4| D[النهاية]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">mermaid&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>النتيجة&lt;/strong>&lt;/p>
&lt;div class="mermaid" align="center">
graph TD
A[البداية] -->|الشرط 1| B(الشرط 2)
B --> C{الشرط 3}
C -->|الشرط 4| D[النهاية]
&lt;/div>
&lt;p>&lt;strong>مخطط جانت&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">mermaid&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;center&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gantt
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> section Project
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> تحديد المتطلبات :done, a, 2024-05-25, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> التصميم الأساسي :done, b, after a, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> التصميم التفصيلي :done, c, after b, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> التصنيع :active, d, after c, 10d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> اختبار الوحدة :crit, e, after d, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> اختبار التكامل : f, after e, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> الاختبار الشامل : g, after f, 5d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> الإصدار :milestone, h, after g, 1d
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">mermaid&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>النتيجة&lt;/strong>&lt;/p>
&lt;div class="mermaid" align="center">
gantt
section Project
تحديد المتطلبات :done, a, 2024-05-25, 5d
التصميم الأساسي :done, b, after a, 5d
التصميم التفصيلي :done, c, after b, 5d
التصنيع :active, d, after c, 10d
اختبار الوحدة :crit, e, after d, 5d
اختبار التكامل : f, after e, 5d
الاختبار الشامل : g, after f, 5d
الإصدار :milestone, h, after g, 1d
&lt;/div>
&lt;p>&lt;strong>مخطط التسلسل&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;&lt;/span>&lt;span class="nt">mermaid&lt;/span> &lt;span class="na">align&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s">&amp;#34;center&amp;#34;&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">sequenceDiagram
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant user
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant view
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant controller
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant model
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> participant database
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> user-&amp;gt;&amp;gt;view: إدخال المعرف/كلمة المرور
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> view-&amp;gt;&amp;gt;controller: طلب المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> controller-&amp;gt;&amp;gt;model: طلب المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> model-&amp;gt;&amp;gt;database: طلب المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> database--&amp;gt;&amp;gt;model: إرجاع نتيجة المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> model--&amp;gt;&amp;gt;controller: إرجاع نتيجة المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> controller--&amp;gt;&amp;gt;view: إرجاع نتيجة المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> view--&amp;gt;&amp;gt;user: عرض نتيجة المصادقة
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">{{&lt;span class="p">&amp;lt;/&lt;/span>&lt;span class="nt">mermaid&lt;/span>&lt;span class="p">&amp;gt;&lt;/span>}}
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>النتيجة&lt;/strong>&lt;/p>
&lt;div class="mermaid" align="center">
sequenceDiagram
participant user
participant view
participant controller
participant model
participant database
user->>view: إدخال المعرف/كلمة المرور
view->>controller: استعلام ajax
controller->>model: طلب المصادقة
model->>database: إصدار SQL
database-->>model: إرجاع نتيجة SQL
model-->>controller: إرجاع نتيجة طلب المصادقة
controller-->>view: إرجاع نتيجة استعلام ajax
view-->>user: عرض نتيجة المصادقة
&lt;/div>
&lt;p>هذا كل شيء.&lt;/p>
&lt;h3 id="المراجع">المراجع
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://mermaid.js.org/#/" target="_blank" rel="noopener"
>موقع mermaid.js الرسمي&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://mermaid.live/" target="_blank" rel="noopener"
>موقع تجريبي لمعاينة صيغة mermaid&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title>حول الذكاء الاصطناعي التوليدي</title><link>http://kenji.blog/ar/p/%D8%AD%D9%88%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A/</link><pubDate>Tue, 16 Apr 2024 02:13:56 +0900</pubDate><guid>http://kenji.blog/ar/p/%D8%AD%D9%88%D9%84-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D8%A7%D9%84%D8%AA%D9%88%D9%84%D9%8A%D8%AF%D9%8A/</guid><description>&lt;img src="http://kenji.blog/p/%E7%94%9F%E6%88%90ai%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/img.png" alt="Featured image of post حول الذكاء الاصطناعي التوليدي" />&lt;h2 id="مقاطع-فيديو-لمحاضرات-حول-الذكاء-الاصطناعي-التوليدي">مقاطع فيديو لمحاضرات حول الذكاء الاصطناعي التوليدي
&lt;/h2>&lt;ul>
&lt;li>&amp;ldquo;الذكاء الاصطناعي التوليدي&amp;rdquo; (1) البروفيسور ماسايوكي ناكاو، جامعة طوكيو 2023.9.8&lt;/li>
&lt;/ul>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/uN0eilnXl4E"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;ul>
&lt;li>&amp;ldquo;الذكاء الاصطناعي التوليدي&amp;rdquo; (2) البروفيسور كونياشي ساكاي، جامعة طوكيو 2023.10.11&lt;/li>
&lt;/ul>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/wz1-DOZoQt0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div>
&lt;ul>
&lt;li>&amp;ldquo;الذكاء الاصطناعي التوليدي&amp;rdquo; (3) البروفيسور يوتاكا ماتسوو، جامعة طوكيو 2024.3.15&lt;/li>
&lt;/ul>
&lt;div class="video-wrapper">
&lt;iframe loading="lazy"
src="https://www.youtube.com/embed/U9vhGvFxKu0"
allowfullscreen
title="YouTube Video"
>
&lt;/iframe>
&lt;/div></description></item><item><title>كيفية تطبيق الفسيفساء على جزء معين من الصورة في paint.net</title><link>http://kenji.blog/ar/p/how-to-apply-mosaic-to-a-specific-part-of-an-image-in-paint-net/</link><pubDate>Tue, 11 Apr 2023 16:33:10 +0900</pubDate><guid>http://kenji.blog/ar/p/how-to-apply-mosaic-to-a-specific-part-of-an-image-in-paint-net/</guid><description>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png" alt="Featured image of post كيفية تطبيق الفسيفساء على جزء معين من الصورة في paint.net" />&lt;p>في هذه المقالة، سنشرح كيفية تطبيق الفسيفساء على جزء معين من الصورة باستخدام paint.net.&lt;/p>
&lt;p>عند تحميل الصور على الإنترنت، قد ترغب في بعض الأحيان في إخفاء أجزاء معينة بوضع فسيفساء عليها، وباستخدام paint.net يمكنك تعديل الصور بسهولة وسرعة.&lt;/p>
&lt;h2 id="الخطوات">الخطوات
&lt;/h2>&lt;h4 id="1-افتح-الصورة-التي-تريد-تعديلها-في-paintnet">1. افتح الصورة التي تريد تعديلها في paint.net
&lt;/h4>&lt;h4 id="2-استخدم-أداة-التحديد-لاختيار-الجزء-الذي-تريد-تغطيته-بالفسيفساء-يمكن-التحديد-المتعدد">2. استخدم أداة التحديد لاختيار الجزء الذي تريد تغطيته بالفسيفساء (يمكن التحديد المتعدد)
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="380"
height="344"
srcset="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hub2f9dbafba1021c88614fe95fc580d3f_11592_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_hub2f9dbafba1021c88614fe95fc580d3f_11592_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="265px"
>&lt;/p>
&lt;h4 id="3-اختر-من-القائمة-تأثيرات-effects--تشويه-distort--فسيفساء-pixelate">3. اختر من القائمة: تأثيرات (Effects) &amp;gt; تشويه (Distort) &amp;gt; فسيفساء (Pixelate)
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="347"
height="197"
srcset="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu9217e3f3ef9abeb3d05f81497cc9e2c6_7552_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_hu9217e3f3ef9abeb3d05f81497cc9e2c6_7552_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="176"
data-flex-basis="422px"
>&lt;/p>
&lt;ul>
&lt;li>يمكنك ضبط حجم الخلية للتحكم في خشونة الفسيفساء. كلما زادت القيمة، زادت درجة الإخفاء.&lt;/li>
&lt;li>[تصغير] اختر Bilinear (صقل متعدد العينات)&lt;/li>
&lt;li>[تكبير] اختر Nearest Neighbor (أقرب جار)&lt;/li>
&lt;/ul>
&lt;p>انقر على OK لإغلاق النافذة.&lt;/p>
&lt;h4 id="4-سيتم-تطبيق-الفسيفساء-قم-بحفظ-الصورة-بعد-ذلك">4. سيتم تطبيق الفسيفساء، قم بحفظ الصورة بعد ذلك.
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="380"
height="344"
srcset="http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_huffa96a6cc9046fae85e7535d0c0f77f3_7385_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%A7%E7%94%BB%E5%83%8F%E3%81%AE%E7%89%B9%E5%AE%9A%E5%80%8B%E6%89%80%E3%81%AB%E3%83%A2%E3%82%B6%E3%82%A4%E3%82%AF%E3%82%92%E3%81%8B%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_huffa96a6cc9046fae85e7535d0c0f77f3_7385_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="110"
data-flex-basis="265px"
>&lt;/p>
&lt;p>هذا كل شيء.&lt;/p></description></item><item><title>كيفية إضافة إطار للصور باستخدام paint.net</title><link>http://kenji.blog/ar/p/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%B6%D8%A7%D9%81%D8%A9-%D8%A5%D8%B7%D8%A7%D8%B1-%D9%84%D9%84%D8%B5%D9%88%D8%B1-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-paint.net/</link><pubDate>Tue, 11 Apr 2023 14:31:59 +0900</pubDate><guid>http://kenji.blog/ar/p/%D9%83%D9%8A%D9%81%D9%8A%D8%A9-%D8%A5%D8%B6%D8%A7%D9%81%D8%A9-%D8%A5%D8%B7%D8%A7%D8%B1-%D9%84%D9%84%D8%B5%D9%88%D8%B1-%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85-paint.net/</guid><description>&lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_3.png" alt="Featured image of post كيفية إضافة إطار للصور باستخدام paint.net" />&lt;p>سأوضح لك كيفية إضافة إطار للصور باستخدام paint.net.&lt;/p>
&lt;h2 id="الخطوات">الخطوات
&lt;/h2>&lt;h4 id="1-افتح-الصورة-التي-تريد-إضافة-إطار-لها-في-paintnet">1. افتح الصورة التي تريد إضافة إطار لها في paint.net
&lt;/h4>&lt;h4 id="2-قم-بتعيين-اللون-الثانوي-هذا-سيكون-لون-الإطار">2. قم بتعيين اللون الثانوي (هذا سيكون لون الإطار)
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img.png"
width="211"
height="249"
srcset="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_hua62af0f7d67e0ed0c246e20a82fe1998_44893_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_hua62af0f7d67e0ed0c246e20a82fe1998_44893_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img.png"
class="gallery-image"
data-flex-grow="84"
data-flex-basis="203px"
>&lt;/p>
&lt;p>إذا لم تكن لوحة الألوان معروضة، فاضغط على مفتاح &lt;code>F8&lt;/code> على لوحة المفاتيح.&lt;/p>
&lt;p>لتعيينه إلى اللون الأسود، انقر فوق &lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1.png"
width="15"
height="13"
srcset="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_huaca51541d504c6afa3b8c1f00eff82f6_257_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_1_huaca51541d504c6afa3b8c1f00eff82f6_257_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="115"
data-flex-basis="276px"
>.&lt;/p>
&lt;h4 id="3-القائمة--الصورة--حدد-تغيير-حجم-القماش">3. القائمة &amp;gt; الصورة &amp;gt; حدد تغيير حجم القماش
&lt;/h4>&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2.png"
width="277"
height="467"
srcset="http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_huc4c336e94d4deff61f9c52eb8a834089_23405_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E7%94%BB%E5%83%8F%E3%81%AB%E6%9E%A0%E7%B7%9A%E3%82%92%E3%81%A4%E3%81%91%E3%82%8B%E6%96%B9%E6%B3%95/img_2_huc4c336e94d4deff61f9c52eb8a834089_23405_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="59"
data-flex-basis="142px"
>&lt;/p>
&lt;p>قم بزيادة العرض والارتفاع بمقدار 2 بكسل لكل منهما. زيادة بمقدار 2 بكسل تعني أن الإطار سيكون 1 بكسل.
إذا كنت تريد أن يكون الإطار 5 بكسل، فقم بزيادة العرض والارتفاع بمقدار 10 بكسل لكل منهما.&lt;/p>
&lt;p>حدد المرساة لتكون &amp;ldquo;الوسط&amp;rdquo;، ثم انقر فوق موافق.&lt;/p>
&lt;h4 id="4-سيتم-إضافة-إطار-للصورة-لذا-قم-بحفظ-الصورة">4. سيتم إضافة إطار للصورة، لذا قم بحفظ الصورة.
&lt;/h4>&lt;p>هذا كل شيء.&lt;/p></description></item><item><title>جاذبية paint.net</title><link>http://kenji.blog/ar/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/</link><pubDate>Wed, 14 Sep 2022 19:33:31 +0900</pubDate><guid>http://kenji.blog/ar/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/</guid><description>&lt;img src="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img.png" alt="Featured image of post جاذبية paint.net" />&lt;p>سأقدم لكم paint.net، وهو برنامج تحرير صور أستخدمه غالبًا أثناء أعمال التطوير الخاصة بي.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_1.png"
width="986"
height="793"
srcset="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_1_hu7b03baa3250c24dbfc5edac442a5c4c7_981205_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_1_hu7b03baa3250c24dbfc5edac442a5c4c7_981205_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_1.png"
class="gallery-image"
data-flex-grow="124"
data-flex-basis="298px"
>&lt;/p>
&lt;h1 id="ميزات-مفيدة-غير-متوفرة-في-الرسام-القياسي-لنظام-windows">ميزات مفيدة غير متوفرة في الرسام القياسي لنظام Windows
&lt;/h1>&lt;ul>
&lt;li>يمكنه التعامل مع الشفافية/العتامة&lt;/li>
&lt;li>يمكنه التحديد التلقائي لأشكال النطاقات المعقدة&lt;/li>
&lt;li>يمكنه التعامل مع الطبقات&lt;/li>
&lt;li>يمكنه ضبط المستويات والسطوع والتباين وما إلى ذلك&lt;/li>
&lt;li>يمكن تطبيق تأثيرات مختلفة (تمويه، تشويه، ضوضاء، إلخ)&lt;/li>
&lt;/ul>
&lt;h1 id="ميزات-أخرى">ميزات أخرى
&lt;/h1>&lt;ul>
&lt;li>مجاني للاستخدام&lt;/li>
&lt;li>خفيف الأداء نسبيًا&lt;/li>
&lt;li>بديهي الاستخدام وليس به الكثير من التعقيد&lt;/li>
&lt;li>يدعم لغات متعددة&lt;/li>
&lt;/ul>
&lt;p>إنه برنامج عالي الوظائف ولكنه سهل الاستخدام. أنا شخصياً لم أتقن جميع ميزاته بعد.&lt;/p>
&lt;h1 id="التثبيت-من-هنا">التثبيت من هنا
&lt;/h1>&lt;p>&lt;a class="link" href="https://www.getpaint.net/download.html" target="_blank" rel="noopener"
>https://www.getpaint.net/download.html&lt;/a>&lt;/p>
&lt;p>إذا اخترت الإصدار المجاني، يرجى النقر فوق الجزء المؤطر باللون الأحمر في الرابط أدناه.&lt;/p>
&lt;p>&lt;img src="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_2.png"
width="754"
height="275"
srcset="http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_2_hu81a3dce724a3d5bbc649f5ff4fffc8aa_30455_480x0_resize_box_3.png 480w, http://kenji.blog/p/paint.net%E3%81%AE%E9%AD%85%E5%8A%9B/img_2_hu81a3dce724a3d5bbc649f5ff4fffc8aa_30455_1024x0_resize_box_3.png 1024w"
loading="lazy"
alt="img_2.png"
class="gallery-image"
data-flex-grow="274"
data-flex-basis="658px"
>&lt;/p>
&lt;p>يبدو أنه إذا قمت بالتثبيت عبر متجر Microsoft، فسيكون مدفوعًا ولكن في المقابل يتيح التحديثات التلقائية.
حتى مع الإصدار المجاني، يمكنك التحديث بسلاسة نسبيًا لأنه يعلمك بأحدث معلومات التحديث.&lt;/p></description></item></channel></rss>