GraphDash هي لوحة معلومات قائمة على الويب مبنية على الرسوم البيانية وبيانات التعريف الخاصة بها. على سبيل المثال ، إذا كان لديك رسمان في دليل:
$ cd default_graph_dir
$ ls
graph.svg graph2.svgبعد ذلك ، يمكنك إنشاء ملفين بيانات تعريف باستخدام تنسيق YAML ، حيث يمكنك تكوين كيفية عرض الرسوم البيانية:
$ cat graph.yaml
name: graph.svg
family: ' Category 1 '
title: ' *Real serious* graph '
text: |
The description
$ cat graph2.yaml
name: graph2.svg
family: ' Category 2 '
title: ' Another important graph 'يمكنك بعد ذلك بدء لوحة معلومات الرسم البياني. ستحصل على واجهة ويب لطيفة تعرض الرسوم البيانية الخاصة بك ، ومربع بحث مع الإكمال التلقائي. يمكنك التنقل بسهولة ومشاركة الرسوم البيانية الخاصة بك.
$ GraphDash --root .
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)استنساخ وتثبيت (في مساحة المستخدم):
git clone https://github.com/AmadeusITGroup/graphdash.git
cd graphdash
pip install --user .أو استخدم حزمة Python:
pip install --user graphdash لتثبيت مساحة المستخدم ، تأكد من أن $PATH الخاص بك يتضمن ~/.local/bin .
$ GraphDash -r default_graph_dir
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit) يمكن تكوين لوحة القيادة مع ملف تكوين YAML وخيار -c/--conf :
$ cat docs/graphdash.yaml
root: ../default_graph_dir
title: " Example of title ;) "
subtitle: " Example of subtitle "
$ GraphDash -c docs/graphdash.yaml
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)يمكنك إنشاء قالب ملف التكوين:
$ GraphDash -C template.yaml إذا لم يتم تثبيته بالفعل على جهازك ، فقم بتثبيت Gunicorn :
pip install --user gunicorn setproctitle # on Fedora you may need to install libffi-devel before نظرًا لأنه يمكنك استيراد WebApp من خلال graphdash:app ، يمكنك تقديمه باستخدام Gunicorn :
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app يمكن تعيين ملف التكوين الخاص بـ WebApp مع متغير البيئة CONF . مع Gunicorn ، يمكنك تمرير متغيرات البيئة إلى العمال مع --env :
gunicorn -b 0.0.0.0:8888 --pid server.pid --env CONF=docs/graphdash.yaml graphdash:app ولكن يجب ألا تستخدم هذه الأوامر بنفسك ، وهذا هو ما هو GraphDashManage !
يتم استخدام GraphDashManage start ، stop ، restart مثيلات Gunicorn Serving graphdash:app . يحتاج إلى ملف تكوين في الدليل الحالي:
$ cat settings.sh
ALL_MODES=(
[ ' prod ' ]= " docs/graphdash.yaml "
[ ' test ' ]= " docs/graphdash.yaml "
)
ALL_PORTS=(
[ ' prod ' ]=1234
[ ' test ' ]=5678
)
WORKERS=3 ثم يمكنك إدارة مثيلات متعددة من GraphDash باستخدام Gunicorn مع:
$ GraphDashManage start prod
[INFO] Listening at: http://0.0.0.0:1234
[INFO] Booting worker with pid: 30403
[INFO] Booting worker with pid: 30404
[INFO] Booting worker with pid: 30405
$ GraphDashManage start test
[INFO] Listening at: http://0.0.0.0:5678
...يمكنك إنشاء قالب الإعدادات:
$ GraphDashManage template > template.sh # to be moved to settings.sh الإدخالات الممكنة (كل شيء اختياري):
root : دليل الجذر للرسوم البيانيةfamilies : مسار إلى ملف بيانات تعريف العائلات (اختياري)title : عنوان WebAppsubtitle : الترجمة الفرعية لـ WebAppplaceholder : النص الافتراضي في حقل البحثheader : رسالة اختيارية في الجزء العلوي (بناء جملة Markdown)footer : رسالة اختيارية في الأسفل (بناء جملة Markdown)showfamilynumbers : منطقية لتبديل ترقيم الأسرة (الافتراضي صحيح)showgraphnumbers : منطقية لتبديل ترقيم الرسم البياني (الافتراضي صحيح)theme : تغيير موضوع CSS (الافتراضي الظلام)keep : نسبة الكلمات الشائعة المحفوظة للإكمال التلقائيlogfile : تغيير ملف السجل الافتراضي لـ WebAppraw : عند التحميل ، ابحث عن جميع الرسوم البيانية وتجاهل البيانات الوصفيةverbose : منطقية تشير إلى فعل عند تحميل التطبيقdebug : وضع التصحيح (تمكين Grunt Livereload ، تمكين وضع Debug Debug)headless : وضع مقطوع الرأس (البحث فقط متاح ، لا يتم تقديم صفحة)port : عند إطلاقه مع خادم تطوير Flask فقط ، المنفذ يتم دعم عدة سمات:
name : المسار إلى الرسم البيانيtitle : عنوان الرسم البياني ، الموصى به لأغراض العرض (بناء جملة Markdown)family : القسم الفرعي الذي يوجد فيه الرسم البيانيindex : قائمة اختيارية للكلمات الرئيسية التي تصف الرسم البياني (مفيدة لميزة البحث)text : وصف اختياري للرسم البياني (بناء جملة Markdown)pretext : رسالة اختيارية تظهر قبل الرسم البياني (بناء جملة Markdown)file : مسار اختياري للبيانات الخامexport : مسار اختياري إلى الرسم البياني القابل للتصدير (على سبيل المثال ، ملف PNG)rank : عدد صحيح ، القيمة الاختيارية المستخدمة لتغيير ترتيب الرسوم البيانية (يستخدم العناوين الافتراضية)showtitle : A Boolean to Toggle Display للرسم البياني (الافتراضي كاذب)labels : قائمة الملصقات (مثل 'new' ) والتي سيتم تقديمها في واجهة المستخدم كدوائر ملونةother : بيانات تعريف أخرى لا تستخدمها GraphDash ، ولكن قد تكون هناك حاجة إليها من قبل أشياء أخرى قراءة البيانات الوصفية لاحظ أنه إذا كانت سمة name مفقودة ، فلن يتم عرض الرسم البياني وسيتم عرض النص على أي حال ، مثل إدخال المدونة.
يمكنك وضع ملف .FAMILIES.yaml بجذر دليل الرسم البياني. قد يحتوي هذا الملف على بيانات تعريف للعائلات. يجب أن تكون قائمة يامل:
- family : chairs
rank : 0
- family : tables
rank : 1
text : This is a description
alias : This text will appear instead of "tables"
labels : newيجب أن يكون كل عنصر من عناصر القائمة قولًا يحتوي على:
family : نظرت العائلةrank : عدد صحيح ، القيمة الاختيارية المستخدمة لتغيير ترتيب العائلات (يستخدم اسم الأسرة الافتراضي)text : وصف اختياري للعائلة (بناء جملة Markdown)alias : اسم اختياري قد يكون أطول من اسم عنوان URL (مفيد لبناء عناوين URL لطيفة)labels : قائمة من الملصقات (مثل new ) والتي سيتم تقديمها في واجهة المستخدم كدوائر ملونة الملصقات المتاحة new ، update ، bugfix ، warning ، error ، ongoing ، obsolete . يمكنك إعطاء ملصقات أخرى سيتم تقديمها بألوان افتراضية. للتخصيص ، يمكنك تحديد الملصقات الخاصة بك مع بناء جملة DICT:
labels :
- name : newlabel
color : white
text_color : black
text : " NEW LABEL "
tooltip : null إذا كنت ترغب في المساهمة ، فأنت بحاجة إلى Grunt لإنشاء ملفات CSS/JS جديدة من ملفات مصدر SASS/Coffee.
npm install --no-bin-links # may need to repeat
grunt يمكن إجراء تصحيح الأخطاء مع ملفات خريطة المصدر للمتصفح الذي يدعمهم في أدوات التصحيح الخاصة بهم. إذا لم يكن الأمر كذلك ، فإن Gruntfile.js يتيح خيارًا لإنشاء أصول غير مصنوعة.
grunt --dev مع تمكين وضع debug ، ستستخدم Grunt آلية Livereload لإعادة تحميل المتصفح إذا تغير أي ملف (وسيقوم وضع تصحيح القارورة بإعادة تحميل الخادم أيضًا).
GraphDash --debug & # or python -m graphdash
grunt watch إذا كنت تستخدم Gunicorn مع ملف PID ، فسيتم إعادة تحميل Grunt تلقائيًا في حالة تغيير أي ملفات Python.
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app &
grunt watch يمكنك استخدام حزم بناء tox وتشغيل الاختبارات.
tox