Ipython: السماح بالإشارات إلى متغيرات Python في خلايا Markdown

تم إنشاؤها على ٢٠ فبراير ٢٠١٣  ·  49تعليقات  ·  مصدر: ipython/ipython

في PR # 2592 ، توصلCarreau إلى صيغة للإشارة إلى متغيرات Python في خلايا Markdown. يستخدم صيغة Jinja {{x}} . نحن نحب هذه الفكرة ، ولكن هناك بعض الأشياء التي يجب حلها:

  • [] ما هي البنية التي نستخدمها؟ هل نحن سعداء بـ {{}}
  • [] كيف نتأكد من أننا نعالج Markdown بطريقة قوية وعقلانية بالنسبة لمادة اللاتكس والأشياء المتعلمة. نحن نبتعد ببطء عن Markdown الخالص وهذا أمر خطير حقًا. نريد أن يعمل تنسيق الكمبيوتر الدفتري على نطاق واسع جدًا ويبدو أن وجود صيغة Markdown الخاصة بنا تبدو فكرة سيئة.
  • [] كيفية معالجة الأخطاء ، أي المتغيرات غير المحددة.
  • [] ماذا نريد أن نفعل حيال تنسيقات العرض الأخرى. يبدو أنه مسار خطير للبدء في السماح بتنسيقات غير نصية.
closed-pr notebook

التعليق الأكثر فائدة

أعتقد أن هذه الميزة مهمة حقًا لمن يأتي من Rmarkdown. قام R بعمل أفضل بكثير في إنشاء تقارير لطيفة.

ال 49 كومينتر

اذن هل هذا ميت؟ سيكون رائعا كما أشار الموضوع السابق؟ آسف للارتباك أتمنى أن يكون لدي skilz للتنفيذ (لا أفعل) لكنني متأكد من أنني سأستخدم ...

لم يمت ، فقط تحتاج إلى إنجاز بعض الأشياء أولاً.

لقد سألت للتو عن هذا في SO ، فقط لأجد أنها نسخة مزدوجة من هنا وهنا .

2 ج الخاص بي سيكون ذلك

  • سيكون بناء جملة Jinja رائعًا
  • يبدو من نظرة سريعة أن تخفيض السعر ليس له حقًا `` خالص '' ، ولكن إذا تم اتباع جميع اصطلاحات التنسيق من تطبيق راسخ (: octocat: github سيكون جيدًا) ، فإن إضافة طريقة الحقن ليست كذلك في الواقع مشكلة تخفيض السعر.
  • هل يمكن أن تكون الأخطاء شيئًا قابلًا للتكوين بواسطة المستخدم؟ خيار [غير مرئي (لم يحدث شيء) ، أو الكلمة error ، أو تتبع مكدس رائع قذر]
  • طالما أنها استجابة نصية ، فيمكن حقنها قبل أن يتم تمريرها إلى عارض markdown ، لذلك يمكن أن يضخ html أو حتى المزيد من تخفيض السعر!

عدم الدفاع عن أي بناء جملة معين (أعتقد أن {{}} جيد) ، ولكن إليك تصميم مشابه لـ R: http://www.rstudio.com/ide/docs/authoring/using_markdown (يستخدمون `` كمحدد ).

يستخدم لونامارك

: +1:

: +1: ، ستكون هذه ميزة مفيدة للغاية!

سيكون من الرائع حقًا أن يكون لديك نفس بناء الجملة مثل http://blog.rstudio.org/2014/06/18/r-markdown-v2/

لا أعرف ، باستخدام محددات نمط R ، أي backticks الفردية والثلاثية ، على التوالي ، يبدو أننا لا نستطيع الاختيار بين عرض الكود فقط (مثل some code snippet/example ) ، و _evaluating_ code وعرض النتيجة ( على سبيل المثال my_var ) - لا أعتقد أن هذا عملي جدًا (إذا فهمته بشكل صحيح).

حالة الاستخدام هي كتابة نثر في دفتر الملاحظات بقيم محسوبة مضمنة ، مثل "_كان متوسط ​​البطالة في مقاطعة مورغان في عام 2014 بنسبة 8.4٪ ، بعد أن كان 10.3٪ في عام 2009._" في هذا المثال ، يمكنك تخيل النسب المئوية والسنوات التي يتم حسابها من البيانات.

حالة الاستخدام الأوسع هي "المستندات الذكية" ، حيث يكون لديك نص ورسومات يتم إنشاؤها تلقائيًا (ربما يتم إخفاء الرمز لسهولة القراءة) من البيانات.

أعتقد أنها ميزة مفيدة.

يعجبني حقًا نموذج "knitr" في الاستوديو (مستند تخفيض واحد ، يتم تفسير كتل التعليمات البرمجية ، والقيم متوفرة في markdown -> يتم تحويلها إلى PDF / html / ... والتي يمكنني نشرها كمقال في مجلة. يختلف عن دفتر ملاحظات نظرًا لأن دفتر الملاحظات يعتمد على خلايا متعددة ولست متأكدًا من كيفية التأثير على ما إذا كان يتم عرض الإخراج أم لا).

لا أمانع في كيفية تضمين القيم في النص ، لكنني سأجد أنه من الجيد أن يستخدم كل من R (مع knitr / rstudio) و ipython نفس الشيء.

أو شيء مشابه لـ ruby ​​أو bash ، حيث يمكن أن يكون # {varname or statement}
مختلطة داخل السلسلة.

  1. يونيو 2014 20:27 skrev "Jan Schulz" [email protected] følgende:

أنا حقًا أحب نموذج "knitr" في rstudio (مستند تخفيض سعر واحد ، رمز
يتم تفسير الكتل ، والقيم متوفرة في تخفيض السعر -> يتم تحويلها
إلى ملف PDF / html / ... والذي يمكنني نشره كمقال في مجلة. يختلف عن
دفتر ملاحظات لأن دفتر الملاحظات يعتمد على خلايا متعددة ولست متأكدًا من كيفية القيام بذلك
التأثير سواء تم عرض الإخراج أم لا).

لا أمانع في كيفية تضمين القيم في النص ، لكنني سأجدها
جميل إذا كان كل من R (مع knitr / rstudio) و ipython سيستخدمان نفس الشيء.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/ipython/ipython/issues/2958#issuecomment -46875435.

أدرك حالة استخدام الشفرة المفسرة بالطبع ، فأنا قلق فقط من أننا قد نفقد قدرة تخفيض السعر على عرض الكود "فقط" (بدون تفسيره / تقييمه) ، like this ، إذا كان بناء جملة R (أي backticks ).

أعتقد أنه في عملية تخفيض السعر في knitr / R ، يمكنك الإشارة إلى ما إذا كنت تريد عرض الكود (تم تمييزه بشكل صحيح ، وما إلى ذلك) أو الإخراج فقط (المؤامرات ، والجداول ، ...).

أنا قادم من خلفية اقتصادية ولا أرغب في رؤية أي رمز في أوراقي ، لذا فإن هذا يختلف قليلاً عن (في رأيي) حالة الاستخدام المُحسَّنة لعرض الكود.

bilderbuchi ، آسف ، لقد أساءت تفسير سياق تعليقك "لا أعتقد أن هذا مفيد".

وأنا أوافق: كل ما يتم تنفيذه يجب ألا يكسر التخفيضات القائمة.

سيكون هذا رائعًا ويجعل IPython يأكل غداء Knitr.

https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/python-markdown

يعجبني هذا النهج حقًا: يتطلب الأمر خلية ومعالجتها مسبقًا إلى تخفيض السعر الصحيح ، لذلك لا يلزم إجراء تغييرات على معالج تخفيض السعر.

جميل جدا ... سوف تستخدم قريبا

يوم الأحد ، 17 آب (أغسطس) 2014 الساعة 2:18 مساءً ، يان شولز [email protected]
كتب:

https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/python-markdown

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/ipython/ipython/issues/2958#issuecomment -52431760.

توم براندر
http://tombrander.com - عقارات
http://oswco.com - البرامج المفتوحة
3763 West Jackson Blvd.
برمنغهام ، AL 35213
هاتف 205-267-1089
تضمين التغريدة

: +1: أنيق. سأستخدم كذلك.

JanSchulz ، شكرا! إنني أتطلع حقًا إلى تجربة التخفيض في البايثون.

هل هناك أي فرصة للحصول على هذا في ipython الرئيسي ( jupyter

هل هناك أي فرصة للحصول على هذا في ipython الرئيسي (jupyter)؟

ربما ليس قريبًا. نحتاج إلى عمل الكثير من التصميم في الخلفية حتى يعمل هذا.
سنحتاج على وجه الخصوص إلى طريقة رسمية لتوسيع صياغة التخفيضات بدلاً من مجرد اختراع واحدة جديدة.

في الواقع ، يعمل هذا (وأيضًا knitr / rmarkdown AFAIK) من خلال تحويل مرحلتين: أولاً استبدال أي كتل كود بإخراج الكود ثم تحويل الباقي إلى تخفيض قياسي. إذن ، هذا ليس امتدادًا لعملية تخفيض السعر ولكنه معالج أولي لخلية.

أعتقد أن السؤال الصعب هو كيفية التعامل مع كود Python العشوائي غير المرئي الذي يتم تنفيذه من داخل خلية تخفيض السعر. لا أعتقد أنه يمكن تقييد تنفيذ التعليمات البرمجية في تطبيق مفيد.

طالما أنه امتداد منفصل يجب عليك تثبيته وتنشيطه ، فهذه مسألة مختلفة. أيضًا ، لا يتم تنفيذ كود Python إلا إذا كان الكمبيوتر المحمول موثوقًا به.

أخطط لإضافة تلميح أداة يوضح الكود المصدري إذا قمت بالمرور فوق ناتج كود بيثون في خلية تخفيض السعر ، حتى تتمكن من معرفة مصدر هذا.

في الواقع ، يعمل هذا (وأيضًا knitr / rmarkdown AFAIK) من خلال تحويل مرحلتين: أولاً استبدال أي كتل كود بإخراج الكود ثم تحويل الباقي إلى تخفيض قياسي. إذن ، هذا ليس امتدادًا لعملية تخفيض السعر ولكنه معالج أولي لخلية.

وهو تخفيض السعر المخصص. هذا بالفعل ما لدينا مع mathjax. من الواضح أنه يتعين علينا تخزين ملف
تخفيض السعر غير المسبق في حالة إعادة تشغيل الكمبيوتر الدفتري ، لذا فإن أي أداة تريد استخدام تخفيض السعر يجب أن تتعامل مع المعالجة المسبقة المخصصة.
قبل المعالج أو بعده ، اخترعنا بناء الجملة الخاص بنا ، والذي قد يتعارض أو لا يتعارض مع ما يريد الناس القيام به أو سيفعلونه لاحقًا.

أعتقد أن السؤال الصعب هو كيفية التعامل مع كود Python العشوائي غير المرئي الذي يتم تنفيذه من داخل خلية تخفيض السعر. لا أعتقد أنه يمكن تقييد تنفيذ التعليمات البرمجية في تطبيق مفيد.

طالما أنه امتداد منفصل يجب عليك تثبيته وتنشيطه ، فهذه مسألة مختلفة. أيضًا ، لا يتم تنفيذ كود Python إلا إذا كان الكمبيوتر المحمول موثوقًا به.

أخطط لإضافة تلميح أداة يوضح الكود المصدري إذا قمت بالمرور فوق ناتج كود بيثون في خلية تخفيض السعر ، حتى تتمكن من معرفة مصدر هذا.

إذا فعلنا ذلك ، يمكننا تقييد المستخدم بالمتغير user_variable ، أي إرجاع قيمة المفتاح user_ns . يجب أن يمنع معظم الإعدام.

إذا فعلنا ذلك ، فيمكننا الاقتصار على user_variable ، أي إعادة قيمة مفتاح user_ns. يجب أن يمنع معظم الإعدام.

ستحتاج أيضًا إلى السماح بوظائف الاتصال. قد تكون الحالة البسيطة هي تنسيق الإخراج أو استدعاء _repr_ مخصص.

أود أن أرى شيئًا كهذا مطبقًا. يبدو أن الحل الأكثر وضوحًا هو تشغيل خلايا MD من خلال مرشح Jinja. وقد تم ذلك من قبل. انظر ديكسي ، على سبيل المثال.

من ناحية أخرى ، لا أعتقد أنه يجب تمكين هذا افتراضيًا في جميع الخلايا. سيزيد Jinja من تعقيد العلامات بشكل كبير ومن المحتمل أن يستخدم Jinja + Markdown وضع تمييز مختلف عن MD العادي. لماذا لا تنفذ هذا كنوع خلية منفصل؟

أعتقد أن هذه المشكلة يمكن أن تختفي ، إذا كان من الممكن إخفاء / استبدال خلية الكود من الكود بما يشبه ما يتم القيام به من أجل تخفيض السعر حاليًا:

-> أضف سحر %%pymarkdown ، والذي ينتج عنه رسالة text/markdown ويشير إلى أن المصدر يجب أن يكون غير مرئي / يجب استبداله بالمخرجات. سوف يقوم السحر بعد ذلك ببساطة بعمل s & r داخل الإدخال.

[تحرير: حسنًا ، هناك مشاكل مختلفة ، مثل عدم إبراز بناء الجملة وعدم وجود معنى في qtconsole ...]

ذو صلة: أضافت الرياضيات 10 دعمًا "للتقارير" ، انظر: http://www.wolfram.com/mathematica/new-in-10/automated-report-generation/

لم أقم (بعد) باللعب معها بالتفصيل ، ولكن يبدو أنه يمكنك استخدام دفتر الملاحظات كقوالب ، وتضمين المراجع إلى المتغيرات والإخراج المحسوب في نص دفتر الملاحظات.

افترض أن لدينا مراجع متعددة في خلايا MD متعددة لنفس المتغير. ما الخلايا التي يجب عرضها مرة أخرى عند تغيير قيمتها؟

Pipeliner لست متأكدًا مما

هل هناك أي حلول لهذه المشكلة التي يستخدمها الناس ؟. أنا أحب أجهزة الكمبيوتر المحمولة ipython / jupyter ، ولكن سيكون من المدهش لو تمكنا من تنفيذ {{python variable}} في تخفيض السعر. إنه مفيد للغاية إذا كنت تقوم بإعداد دفتر ملاحظات مع عينة صغيرة من مجموعات البيانات ثم تريد لاحقًا التبديل في المجموعة الكاملة وتحديث كل شيء

يمكنك استخدام عنصر واجهة مستخدم PlaceProxy لعرض عنصر واجهة مستخدم في أي محدد html على الصفحة. في عملية تخفيض السعر ، قم بتضمين <span id="myid">placeholder</span> ، ثم لاحقًا في التعليمات البرمجية ، استخدم شيئًا مثل x=HTML('widget value'), PlaceProxy(child=x, selector='#myid') . ثم في أي وقت تقوم فيه بتعيين x.value='something' ، ينعكس التحديث في الأداة التي يتم عرضها في التخفيضات. راجع https://github.com/ipython/ipywidgets/blob/1e407cef864363c66a23781b8d560a6ac18b3370/ipywidgets/widgets/widget_box.py#L70 للتعرف على تعريف PlaceProxy.

الكثير من المحاذير بالطبع. إذا قمت بتحرير تخفيض السعر ، يختفي عنصر واجهة المستخدم. إذا فتحت دفتر الملاحظات ، فربما لم يتم إنشاء الأداة ، لذا لن تظهر ، وما إلى ذلك ، ولكنها تتيح لك التحكم برمجيًا في الإخراج داخل خلية تخفيض السعر.

هناك خيار آخر يتمثل في إنشاء السلسلة وعرض العلامة كمخرج ، وليس كخلية تخفيض السعر. لن يتم تحديثه ديناميكيًا ، ولكن في كل مرة تقوم فيها بتقييم الخلية ، سيتم تحديث علامة التخفيض.

يمكنك تجربة ملحقات الكمبيوتر المحمول هذه:
https://github.com/ipython-contrib/IPython-notebook-extensions/wiki/python-markdown_v3

لم أكن أرغب في بناء السلسلة ووضعها كمخرج لأنها تصبح فوضوية للغاية بوجود سلاسل html كبيرة - فكرة رائعة رغم ذلك ، لم أفكر في ذلك. ولكن هناك بالتأكيد نوعان من الحلول الجيدة التي تفي بالغرض - شكرًا!

أعتقد أن هذه الميزة مهمة حقًا لمن يأتي من Rmarkdown. قام R بعمل أفضل بكثير في إنشاء تقارير لطيفة.

رأيت نسخة مكررة من هذه المشكلة في دفتر الملاحظات. هذا ممكن بالفعل باستخدام IPython.display.Markdown في خلية رمز:

image

from IPython.display import Markdown

one = 1
two = 2
three = one + two

Markdown("# Title")
Markdown("""
# Math
## Addition
Here is a simple addition example: {one} + {two} = {three}
""".format(one=one, two=two, three=three))

لطيف - جيد! سيكون من السهل أيضًا كتابة أداة مساعدة (أو حتى سحرية تخفيض السعر ٪٪)
التي تسحب المتغيرات تلقائيًا من مساحة أسماء النواة ، لذا يمكنك ذلك
فعل:

%%markdown

## Subsection

Here is {one} and {two}

يوم الأربعاء ، 26 أبريل ، 2017 الساعة 6:35 مساءً ، Grant Nestor [email protected]
كتب:

رأيت نسخة مكررة من هذه المشكلة في دفتر الملاحظات. هذا ممكن بالفعل
باستخدام IPython.display.Markdown في خلية رمز:

[صورة: صورة]
https://cloud.githubusercontent.com/assets/512354/25464012/f434c52c-2aae-11e7-9171-541fb0f6601e.png

من IPython.display استيراد Markdown

واحد = 1
اثنان = 2
ثلاثة = واحد + اثنان

Markdown ("# Title")
Markdown ("" "# Math ## Addition هنا مثال إضافة بسيط: {one} + {two} = {three}" "". format (one = one، two = two، three = three))

-
أنت تتلقى هذا لأنه تم تعيينك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/ipython/ipython/issues/2958#issuecomment-297586914 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABr0CIHhxwNwQF6MiHHy2M612zRnf5Wks5rz_D4gaJpZM4AchzX
.

-
بريان إي جرانجر
أستاذ الفيزياء وعلوم البيانات
جامعة ولاية كال بولي ، سان لويس أوبيسبو
ellisonbg على Twitter و GitHub
[email protected] و [email protected]

ellisonbg سيكون هذا Carreau أي مصلحة في شيء مثل هذا؟

بالإضافة إلى ذلك ، بدمج هذا مع ميزة علامات الخلية الجديدة في دفتر الملاحظات (راجع منشور إصدار دفتر الملاحظات 5.0 ) ، يجب أن تكون قادرًا على إخفاء خلايا الإدخال عند تحويل دفتر ملاحظات باستخدام nbconvert (على سبيل المثال باستخدام nbconvert-hide tag). takluyver هل تعمل علامة nbconvert-hide حاليًا مع nbconvert؟

لا أعتقد أن الأمر كذلك حتى الآن ، ولكن أعتقد أنه يجب علينا إضافة بعض علامات nbconvert.

+1 لكل هذا! أيضًا ، نحن نعمل حاليًا على إخفاء المدخلات / المخرجات في
JupyterLab وستكون قادرة على الاستمرار في تلك الحالة إلى nbconvert
البيانات الوصفية.

يوم الخميس ، 27 أبريل 2017 الساعة 7:33 صباحًا ، Grant Nestor [email protected]
كتب:

ellisonbg https://github.com/ellisonbg سيكون ذلك لطيفًا وأعتقد
هذه هي الطريقة الصحيحة للقيام بذلك (عرض تخفيض السعر من Python vs.
توسيع آليات تخفيض السعر المحدد وغيرها من الطرق الممكنة
لا ينبغي تمديد). Carreau https://github.com/Carreau أي
مصلحة في شيء مثل هذا؟

بالإضافة إلى ذلك ، يتم دمج هذا مع ميزة علامات الخلايا الجديدة في دفتر الملاحظات
(انظر منشور إصدار دفتر الملاحظات 5.0
http://blog.jupyter.org/2017/04/04/jupyter-notebook-5-0/ ) ، يجب عليك ذلك
تكون قادرًا على إخفاء خلايا الإدخال عند تحويل جهاز كمبيوتر محمول باستخدام nbconvert
(على سبيل المثال ، استخدام علامة إخفاء nbconvert). takluyver https://github.com/takluyver
هل تعمل علامة إخفاء nbconvert حاليًا مع nbconvert؟

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/ipython/ipython/issues/2958#issuecomment-297731409 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABr0BNgLTtlzwbrIjqBquzsE9lhLXchks5r0KdAgaJpZM4AchzX
.

-
بريان إي جرانجر
أستاذ الفيزياء وعلوم البيانات
جامعة ولاية كال بولي ، سان لويس أوبيسبو
ellisonbg على Twitter و GitHub
[email protected] و [email protected]

Carreau أي مصلحة في شيء مثل هذا؟

تمت مناقشة هذه الطريقة في فعل الأشياء بالفعل في عام 2013 ، وكان هناك شيء يثير استياء AFAICT على النحو التالي:

  • تحتاج إلى إعادة تطبيق تخفيض السعر ٪٪ في كل لغة
  • يتطلب الحساب على جانب kernel لعرض النص
  • يغير المعنى الدلالي لتقديم تخفيض السعر.
  • فشل nbconvert --to markdown و nbconvert --to script
  • المسمار متابعة أجهزة الكمبيوتر المحمولة السنانير استيراد.

هذا يكسر دلالات دفتر الملاحظات (IMHO) ، لأن نص خلايا "markdown" يعتمد على حالة kernel. لذلك بينما هو لطيف ، سأقوم بالتصويت على هذه الفكرة.

كما تمت كتابة السحر %%markdown ، %%latex ، %%javascript ... إلخ في الوقت الذي كنا نجري فيه هذه المناقشة.

سألاحظ أن السحرة المماثلة كانت موجودة لبعض الوقت والطريقة ميزات أكثر تقدمًا من مجرد استخدام %%markdown ، لذا من فضلك لا تتعجل لأنك خرجت لأنك لم تواجه هذه الفكرة من قبل.

لقد تطور تفكيري بمرور الوقت وأنا أحب فكرة gnestor s.

حسب التعريف ، إذا أراد المستخدم متغيرات من النواة في خلية markdown ،
ستعتمد خلية التخفيض على النواة. قائلا "أن يكسر
دلالات notebok "مثل القول بأنه لا ينبغي لنا السماح لخلايا الشفرة
لأنهم يعملون على النواة ويعيدون الإخراج. أحد الأغراض الرئيسية
من مستند دفتر الملاحظات هو بمثابة سجل لما تقوم به النواة.
التنفيذ على أي نواة تدعم المخرجات الغنية أمر تافه وهو كذلك
هذا يكسر أي شيء في اتجاه مجرى النهر (nbconvert ، استيراد خطافات) ثم تلك الأشياء
لديك أخطاء (إخراج تخفيض السعر شيء بالفعل).

لكن أنا بخير أفعل هذا خارج نواة ipython ...

يوم الخميس ، 27 أبريل 2017 الساعة 10:29 صباحًا ، ماتياس بوسونير <
[email protected]> كتب:

Carreau https://github.com/Carreau أي مصلحة في شيء مثل هذا؟

هذه الطريقة في فعل الأشياء تمت مناقشتها بالفعل في عام 2013 شيئًا و
تم الاستياء من AFAICT على النحو التالي:

  • تحتاج إلى إعادة تطبيق تخفيض السعر ٪٪ في كل لغة
  • يتطلب الحساب على جانب kernel لعرض النص
  • يغير المعنى الدلالي لتقديم تخفيض السعر.
  • برغي nbconvert - للتخفيض و nbconvert - إلى البرنامج النصي
  • المسمار متابعة أجهزة الكمبيوتر المحمولة السنانير استيراد.

هذا كسر دلالات دفتر الملاحظات (IMHO) ، لأن نص
تعتمد خلايا "markdown" على حالة النواة. لذلك بينما هو لطيف أنا ذاهب
للتصويت ضد هذه الفكرة.

كما تمت كتابة ٪٪ markdown، ٪٪ latex، ٪٪ javascript ... etc magic at
الوقت الذي كنا نجري فيه هذه المناقشة.

سوف أشير إلى وجود سحريات مماثلة لبعض الوقت
https://gist.github.com/bj0/5343292 وطريقة ميزات أكثر تقدمًا من
فقط باستخدام تخفيض السعر ٪٪ ، لذا من فضلك لا تتعجل لأنك خرجت كـ
لم تواجه هذه الفكرة من قبل.

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/ipython/ipython/issues/2958#issuecomment-297784026 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AABr0HU-Gb3ENSidykbte53geYqPpy-sks5r0NCAgaJpZM4AchzX
.

-
بريان إي جرانجر
أستاذ الفيزياء وعلوم البيانات
جامعة ولاية كال بولي ، سان لويس أوبيسبو
ellisonbg على Twitter و GitHub
[email protected] و [email protected]

أعتقد أن هذه هي الطريقة الصحيحة للقيام بذلك (تقديم تخفيض السعر من بايثون

توضيح فقط لأنني قرأت بيانك بشكل خاطئ في البداية - هذا يستخدم kernel لعرض تخفيض السعر (مثل markdown mimetype) ، وليس لتقديم تخفيض السعر إلى html. لا يزال تخفيض التخفيض الفعلي للعرض إلى html يتم من جانب العميل ، في nbconvert ، إلخ.

أنا أحب هذا النهج. إذا كنت تريد تخفيض السعر السهل الذي يتضمن حالة النواة ، فاستخدم النواة لعرض هذا التخفيض. إذا كنت تريد أن يتم تحديث تخفيض السعر بشكل مباشر ، فاستخدم عنصر واجهة مستخدم (يمكنك استخدام أداة OutputWidget ، أو يمكننا إنشاء MarkdownWidget مشابه لـ HTMLWidget). هذا ، مصحوبًا بطرق سهلة لإخفاء / إظهار المدخلات والمخرجات ، أمر منطقي جدًا بالنسبة لي.

صادفت للتو هذه التذكرة وأود أن أذكر أن SoS أيضًا %render magic الذي يعرض stdout لخلية في MD (افتراضيًا) ، HTML وما إلى ذلك ، ولأن sos يدعم لغات مختلفة ، فإنه يعرض أيضًا الإخراج من أي نواة فرعية تبدأ.

سيكون من الرائع أن يكون كل ما يحدث متوافقًا أيضًا مع RMarkdown. الذي يستخدم

 قيمة x هي "rx".

حيث x متغير في R.

https://github.com/vatlab/markdown-kernel ليس بالضرورة ما تحتاجه ولكنه يدعم خلايا Rmarkdown في بيئة Jupyter.

TL ؛ DR: هل هذا الموضوع لا يزال محدثًا؟ JupyterLab ليس لديه حل مباشر ، لكن المفكرة؟ (2020)

لذا ... قراءة هذا الموضوع ، وتجربة الاختراقات المختلفة المقترحة ... يبدو أنه اعتبارًا من عام 2020 ، لا تزال هذه الميزة مستحيلة / مفقودة في JupyterLab (الذي كان الموقع الرئيسي يدفع الناس لاستخدامه منذ عدة سنوات حتى الآن؟) ، ما لم تستخدم SoS (يبدو أن جميع الحلول الأخرى إما أجهزة كمبيوتر محمولة فقط ، أي قديمة / عديمة الفائدة للتثبيتات الحديثة ... أو تتطلب التخلص من معظم الراحة في استخدام الوظيفة الأساسية لـ Jupyter "code + markdown").

هل هناك شيء فاتني؟ يبدو أن JupyterLab الرئيسي (ملاحظة: ليست أجهزة الكمبيوتر المحمولة ، التي تعمل بشكل جيد ، وأشعر بالخيانة قليلاً لأن المشروع الرئيسي يدفع المختبر بشدة عندما تعمل أجهزة الكمبيوتر المحمولة بشكل أفضل ، حتى الآن في عام 2020) بشكل أساسي لا تدعم تخفيض السعر في مستندات لأي شيء يتجاوز الأمثلة التافهة وغير التحليلية - من الناحية الخطابية: ما الهدف من تضمين نظام تنسيق في منتج تحليل البيانات إذا لم تتمكن من إخراج بياناتك بالتنسيق؟

هذا يبدو خاطئًا لدرجة أنني أعتقد أنني قد فاتني شيئًا أساسيًا. "SoS + markdown-kernel" يبدو وكأنه مطرقة ثقيلة لكسر الجوز ، ولكن نظرًا لأنه يعمل ...

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات