GraphDash adalah dasbor berbasis web yang dibangun di atas grafik dan metadata mereka. Misalnya, jika Anda memiliki dua grafik di direktori:
$ cd default_graph_dir
$ ls
graph.svg graph2.svgKemudian Anda dapat membuat dua file metadata menggunakan format YAML, di mana Anda dapat mengonfigurasi bagaimana grafik akan ditampilkan:
$ 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 'Anda dapat memulai dasbor grafik. Anda akan mendapatkan antarmuka web yang bagus menampilkan grafik Anda, dan kotak pencarian dengan pelengkapan otomatis. Anda dapat dengan mudah menavigasi dan membagikan grafik Anda.
$ GraphDash --root .
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit)Klon dan instal (di ruang pengguna):
git clone https://github.com/AmadeusITGroup/graphdash.git
cd graphdash
pip install --user .Atau gunakan paket Python:
pip install --user graphdash Untuk instalasi ruang pengguna, pastikan $PATH Anda termasuk ~/.local/bin .
$ GraphDash -r default_graph_dir
* Running on http://0.0.0.0:5555/ (Press CTRL+C to quit) Dasbor dapat dikonfigurasi dengan file konfigurasi YAML dan opsi -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)Anda dapat menghasilkan templat file konfigurasi:
$ GraphDash -C template.yaml Jika belum diinstal di mesin Anda, instal Gunicorn :
pip install --user gunicorn setproctitle # on Fedora you may need to install libffi-devel before Karena Anda dapat mengimpor WebApp melalui graphdash:app , Anda dapat menyajikannya dengan Gunicorn :
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app File konfigurasi Webapp dapat diatur dengan variabel lingkungan CONF . Dengan Gunicorn , Anda dapat memberikan variabel lingkungan kepada para pekerja dengan --env :
gunicorn -b 0.0.0.0:8888 --pid server.pid --env CONF=docs/graphdash.yaml graphdash:app Tetapi Anda tidak boleh menggunakan perintah ini sendiri, untuk itulah GraphDashManage !
GraphDashManage digunakan untuk start , stop , restart contoh Gunicorn yang melayani graphdash:app . Perlu file konfigurasi di direktori saat ini:
$ cat settings.sh
ALL_MODES=(
[ ' prod ' ]= " docs/graphdash.yaml "
[ ' test ' ]= " docs/graphdash.yaml "
)
ALL_PORTS=(
[ ' prod ' ]=1234
[ ' test ' ]=5678
)
WORKERS=3 Kemudian Anda dapat mengelola beberapa instance GraphDash menggunakan Gunicorn dengan:
$ 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
...Anda dapat menghasilkan templat pengaturan:
$ GraphDashManage template > template.sh # to be moved to settings.sh Kemungkinan entri (semuanya opsional):
root : Direktori Root Grafikfamilies : Path to the Families Metadata File (Opsional)title : Judul Webappsubtitle : Subtitle dari Webappplaceholder : Teks default di bidang pencarianheader : Pesan opsional di bagian atas (Sintaks Markdown)footer : Pesan opsional di bagian bawah (Sintaks Markdown)showfamilynumbers : A Boolean to Toggle Family Numbering (default benar)showgraphnumbers : a boolean to sake grafik penomoran (default benar)theme : Ubah tema CSS (default adalah gelap)keep : Proporsi kata -kata umum yang disimpan untuk pelengkapan otomatislogfile : Ubah file log default dari Webappraw : Saat memuat, cari semua grafik dan abaikan metadataverbose : Boolean yang menunjukkan verbositas saat memuat aplikasidebug : Mode Debug (Aktifkan Grunt Livereload, Aktifkan Mode Debug Flask)headless : Mode tanpa kepala (hanya pencarian yang tersedia, tidak ada halaman yang diberikan)port : Saat diluncurkan dengan server pengembangan Flask saja, port Beberapa atribut didukung:
name : Jalur ke grafiktitle : Judul Grafik, Disarankan untuk Tujuan Tampilan (Sintaks Markdown)family : Subbagian di mana grafiknyaindex : Daftar kata kunci opsional yang menggambarkan grafik (berguna untuk fitur pencarian)text : Deskripsi opsional grafik (sintaks Markdown)pretext : Pesan opsional yang muncul sebelum grafik (Sintaks Markdown)file : Jalur opsional ke data mentahexport : Jalur opsional ke grafik yang dapat diekspor (misalnya, file PNG)rank : Integer, Nilai Opsional Digunakan untuk Mengubah Urutan Grafik (Default Menggunakan Judul)showtitle : A Boolean to Soggle Judul Tampilan untuk grafik (default adalah false)labels : daftar label (seperti 'new' ) yang akan diterjemahkan di UI sebagai lingkaran berwarnaother : Metadata lain yang tidak digunakan oleh GraphDash , tetapi mungkin diperlukan oleh hal -hal lain yang membaca metadata Perhatikan bahwa jika atribut name tidak ada, grafik tidak akan ditampilkan dan teks akan ditampilkan, seperti entri blog.
Anda dapat meletakkan file .FAMILIES.yaml di root direktori grafik. File ini mungkin berisi metadata untuk keluarga. Itu harus menjadi daftar YAML:
- family : chairs
rank : 0
- family : tables
rank : 1
text : This is a description
alias : This text will appear instead of "tables"
labels : newSetiap elemen dari daftar harus berupa dikt yang berisi:
family : Keluarga dipertimbangkanrank : Integer, Nilai Opsional Digunakan untuk Mengubah Pesanan Keluarga (Default Menggunakan Nama Keluarga)text : Deskripsi opsional dari keluarga (sintaks markdown)alias : Nama opsional yang mungkin lebih panjang dari yang ada di URL (berguna untuk membangun URL yang bagus)labels : daftar label (seperti new ) yang akan diterjemahkan di UI sebagai lingkaran berwarna Label yang tersedia adalah new , update , bugfix , warning , error , ongoing , obsolete . Anda dapat memberikan label lain yang akan diterjemahkan dengan warna default. Untuk kustomisasi, Anda dapat menentukan label Anda sendiri dengan sintaks dikte:
labels :
- name : newlabel
color : white
text_color : black
text : " NEW LABEL "
tooltip : null Jika Anda ingin berkontribusi, Anda perlu Grunt untuk menghasilkan file CSS/JS baru dari file sumber Sass/Coffee.
npm install --no-bin-links # may need to repeat
grunt Debugging dapat dibuat dengan file peta sumber untuk browser yang mendukung mereka di alat debugging mereka. Jika tidak, Gruntfile.js memungkinkan opsi untuk menghasilkan aset yang tidak terendam.
grunt --dev Dengan mode debug yang diaktifkan, Grunt akan menggunakan mekanisme livereload untuk memuat ulang browser jika ada file yang telah berubah (dan flask debug Mode akan memuat ulang server juga).
GraphDash --debug & # or python -m graphdash
grunt watch Jika Anda menggunakan Gunicorn dengan file PID, Grunt akan secara otomatis memuat ulang jika ada file Python berubah.
gunicorn -b 0.0.0.0:8888 --pid server.pid graphdash:app &
grunt watch Anda dapat menggunakan paket tox Build dan menjalankan tes.
tox