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 ที่ให้บริการ 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 : Path to the Families Metadata File (ไม่บังคับ)title : ชื่อของ WebAppsubtitle : คำบรรยายของ WebAppplaceholder : ข้อความเริ่มต้นในช่องค้นหาheader : ข้อความเสริมที่ด้านบน (มาร์คดาวน์ไวยากรณ์)footer : ข้อความเสริมที่ด้านล่าง (มาร์คดาวน์ไวยากรณ์)showfamilynumbers : บูลีนเพื่อสลับหมายเลขครอบครัว (ค่าเริ่มต้นเป็นจริง)showgraphnumbers : บูลีนเพื่อสลับหมายเลขกราฟ (ค่าเริ่มต้นเป็นจริง)theme : เปลี่ยนธีม CSS (ค่าเริ่มต้นคือมืด)keep : สัดส่วนของคำทั่วไปที่เก็บไว้สำหรับการเติมอัตโนมัติlogfile : เปลี่ยนไฟล์บันทึกเริ่มต้นของ WebAppraw : เมื่อโหลดให้มองหากราฟทั้งหมดและละเว้นข้อมูลเมตาverbose : บูลีนที่ระบุคำฟางเมื่อโหลดแอปพลิเคชันdebug : Debug Mode (เปิดใช้งาน Grunt Livereload, เปิดใช้งานโหมด Debug Flask)headless : HEADLESS MODE (เฉพาะการค้นหาไม่มีหน้าแสดงผล)port : เมื่อเปิดตัวด้วย Flask Development Server เท่านั้นพอร์ต สนับสนุนคุณลักษณะหลายอย่าง:
name : เส้นทางไปยังกราฟtitle : ชื่อของกราฟแนะนำสำหรับวัตถุประสงค์ในการแสดง (Markdown Syntax)family : ส่วนย่อยที่กราฟเป็นindex : รายการเสริมของคำหลักที่อธิบายกราฟ (มีประโยชน์สำหรับคุณสมบัติการค้นหา)text : คำอธิบายเพิ่มเติมของกราฟ (มาร์คดาวน์ไวยากรณ์)pretext : ข้อความเสริมปรากฏขึ้นก่อนกราฟ (มาร์คดาวน์ไวยากรณ์)file : เส้นทางเสริมไปยังข้อมูลดิบexport : เส้นทางเสริมไปยังกราฟที่ส่งออกได้ (ตัวอย่างเช่นไฟล์ PNG)rank : จำนวนเต็ม, ค่าตัวเลือกที่ใช้ในการเปลี่ยนลำดับกราฟ (ชื่อการใช้เริ่มต้น)showtitle : บูลีนเพื่อสลับการแสดงชื่อเรื่องสำหรับกราฟ (ค่าเริ่มต้นเป็นเท็จ)labels : รายการป้ายกำกับ (เช่น 'new' ) ซึ่งจะแสดงใน UI เป็นวงกลมสีother : ข้อมูลเมตาอื่น ๆ ที่ไม่ได้ใช้โดย GraphDash แต่อาจจำเป็นต้องใช้โดยสิ่งอื่น ๆ ที่อ่านข้อมูลเมตา โปรดทราบว่าหากแอตทริบิวต์ name หายไปกราฟจะไม่ปรากฏขึ้นและข้อความจะปรากฏขึ้นเช่นเดียวกับรายการบล็อก
คุณอาจใส่ไฟล์ .FAMILIES.yaml ที่รูทของไดเรกทอรีกราฟ ไฟล์นี้อาจมีข้อมูลเมตาสำหรับครอบครัว ควรเป็นรายการ Yaml:
- family : chairs
rank : 0
- family : tables
rank : 1
text : This is a description
alias : This text will appear instead of "tables"
labels : newแต่ละองค์ประกอบของรายการควรเป็น dict ที่มี:
family : ครอบครัวพิจารณาrank : จำนวนเต็มค่าเสริมที่ใช้ในการเปลี่ยนคำสั่งของครอบครัว (เริ่มต้นใช้ชื่อครอบครัว)text : คำอธิบายเสริมของครอบครัว (มาร์คดาวน์ไวยากรณ์)alias : ชื่อเสริมที่อาจยาวกว่าชื่อใน URL (มีประโยชน์ในการสร้าง URL ที่ดี)labels : รายการป้ายกำกับ (เช่น new ) ซึ่งจะแสดงใน UI เป็นวงกลมสี ฉลากที่มีอยู่ 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 Source
npm install --no-bin-links # may need to repeat
grunt การดีบักสามารถทำได้ด้วยไฟล์แผนที่ต้นฉบับสำหรับเบราว์เซอร์ที่รองรับพวกเขาในเครื่องมือการดีบักของพวกเขา ถ้าไม่ Gruntfile.js เปิดใช้งานตัวเลือกในการสร้างสินทรัพย์ที่ไม่ได้ระบุ
grunt --dev เมื่อเปิดใช้งานโหมด debug คำรามจะใช้กลไก LiverEload เพื่อโหลดเบราว์เซอร์ใหม่หากไฟล์ใด ๆ มีการเปลี่ยนแปลง (และโหมดการดีบัก Flask จะโหลดเซิร์ฟเวอร์ซ้ำอีกด้วย)
GraphDash --debug & # or python -m graphdash
grunt watch หากคุณใช้ Gunicorn กับไฟล์ PID คำรามจะโหลดซ้ำโดยอัตโนมัติหากไฟล์ Python เปลี่ยนไป
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app &
grunt watch คุณสามารถใช้แพ็คเกจบิลด์ tox และเรียกใช้การทดสอบ
tox