الانتقال إلى الإصدار 1.0¶
ما الذي لا يتغير¶
واجهة Python كما هي:
LectureDeckوcoverوslideوnoteوtableوrenderوfrom_fileوexportوexport_pdfبالمعاملات نفسها.ملفات JSON القديمة تعمل دون تعديل، وكذلك
LuxurySlideDeckوالاستيرادانjupyter_lecture_studioوlecture_studioوالأمرlecture-studio.التصميم الذهبي مطابق للأصل: تم التحقق من الأنماط المحسوبة لكل عنصر في ثلاثة عروض شاشة، وعلى محاضرة «أساسيات بايثون» الحقيقية.
المخرجات المحفوظة في الدفاتر القديمة تبقى كما هي لأنها تحمل تنسيقها معها.
ما الذي تحسّن تلقائيًا¶
قبل |
بعد |
|---|---|
كل شريحة تحمل الخطوط كاملة (~246 كيلوبايت) |
الخطوط مرة واحدة في الدفتر؛ الشريحة ~50 كيلوبايت |
إعادة تشغيل خلية تكرر المكوّن وتزيد الترقيم |
إعادة التشغيل تستبدل ما أضافته الخلية في مكانه |
نصوص عربية ثابتة تظهر في المحاضرات الإنجليزية |
نصوص الواجهة تتبع لغة المحاضرة ( |
مخرجات تختلف في كل تشغيل |
نفس المحتوى يعطي نفس HTML بالضبط |
الإجابات مكشوفة في ملف HTML |
|
|
تُعزل في كل النصوص تلقائيًا |
تعليقات عربية داخل الكود متقطعة الحروف |
خط Cairo احتياطي داخل الكود |
تخطيط LTR غير منعكس بالكامل |
الخصائص المنطقية تعكس التخطيط تلقائيًا |
تغييرات قد تلاحظها¶
أسماء الأصناف في HTML (CSS classes): أصبحت كلها بالبادئة
ls-. إذا كتبت CSS خاصًا يستهدف الأسماء القديمة فحدّثه، والأفضل استخدام متغيرات التصميم (tokens) بدل CSS مباشر.القديم
الجديد
luxury-slide-container/luxury-coverls-slide/ls-cover(وكلاهماls-frame)luxury-topline,luxury-label,luxury-wordmarkls-topline,ls-course,ls-seriesmain-title,chapter-eyebrow,chapter-watermarkls-title,ls-eyebrow,ls-watermarkslide-descriptionls-descriptionluxury-steps,luxury-step,step-number,step-explanation,reason-textls-cards,ls-card,ls-card-number,ls-card-text,ls-reasonluxury-code,luxury-code-barls-code,ls-code-barconcept-stage,concept-visual,visual-node,visual-connector,visual-captionls-stage,ls-diagram,ls-node,ls-arrow,ls-captionvisual-{kind}data-kind="{kind}"selected,single,no-herols-selected,ls-single,ls-no-herolesson-check,check-label,answer-bodyls-activity,ls-activity-label,ls-answerstudio-note,studio-tablels-note,ls-tablekeyword,string,number,comment,built_ink,s,m,c,nb(أسماء Pygments)الصنف
cover-prerequisiteداخل وصف الغلاف ما زال مدعومًا، وكذلك أصنافnotebook_styleفي خلايا Markdown.القيم الافتراضية:
Brand.courseوBrand.seriesوBrand.footerوActivity.labelوActivity.revealأصبحتNone، وتأخذ قيمتها من اللغة عند العرض. النتيجة المرئية في المحاضرات العربية لم تتغير.Theme.directionأصبحNoneافتراضيًا ويتبع اللغة.direction="ltr"ما زال يعمل ويجعل اللغة الإنجليزية افتراضية.تنسيق خفيف داخل النص: النص بين علامتي
`يصبح كودًا، و**...**خطًا عريضًا. إذا احتجت هذه الرموز حرفيًا استخدمLectureDeck(..., markup="text").deck._componentsخاصية داخلية تعيد الآن HTML مُعادًا توليده؛ استخدمdeck.components(النماذج) أوdeck.html().حُذف
tokens.css؛ كل الأنماط فيstudio.cssالمبني على المتغيرات.
استخدام جسر التوافق للمحاضرات الأقدم¶
from jupyter_lecture_studio.compat import LuxurySlideDeck
from jupyter_lecture_studio import Brand
deck = LuxurySlideDeck(brand=Brand(
course="المادة الجديدة", series="NEW SERIES", lesson="01", language="java"
))
# deck.show(lecture_slides["variables"])
القديم |
الجديد |
|---|---|
|
|
|
|
|
|
|
|
HTML داخل النص |
|
خطوات الترقية¶
python -m pip install -U "jupyter-lecture-studio[notebook,highlight]"أعد تشغيل kernel.
شغّل خلايا المحاضرة بالترتيب، ثم صدّر من جديد.